2

features.xmlファイルをローカルのnexusmavenリポジトリにデプロイするためのgradleビルドファイルを作成しようとしています。Mavenを直接使用する以外に、これを行う方法の例を見つけることができませんでした。誰かがgradleでこれを行う方法の例がありますか?作業中のMavenPOMも添付しています。

ありがとう、-クリスチャン

<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>company.dept</groupId>
<artifactId>deploy-feature</artifactId>
<packaging>pom</packaging>
<version>1.0</version>
<name>feature.xml</name>
<distributionManagement>
    <repository>
        <id>nexus.repo</id>
        <url>http://nexus:80/nexus/content/repositories/releases/</url>
    </repository>
</distributionManagement>

<build>
    <plugins>
        <plugin>
            <artifactId>maven-resources-plugin</artifactId>
            <version>2.4.3</version>
            <executions>
                <execution>
                    <id>copy-resources</id>
                    <phase>validate</phase>
                    <goals>
                        <goal>copy-resources</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${basedir}/target</outputDirectory>
                        <resources>
                            <resource>
                                <directory>resources</directory>
                                <filtering>true</filtering>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>build-helper-maven-plugin</artifactId>
            <executions>
                <execution>
                    <id>attach-artifacts</id>
                    <phase>package</phase>
                    <goals>
                        <goal>attach-artifact</goal>
                    </goals>
                    <configuration>
                        <artifacts>
                            <artifact>
                                <file>target/features.xml</file>
                                <type>xml</type>
                                <classifier>features</classifier>
                            </artifact>
                        </artifacts>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

4

1 に答える 1

1

gradle.propertiesでの場所の設定

mavenServer=http://localServer:8042
mavenRepo=/nexus/content/groups/public
mavenReleases=/nexus/content/repositories/releases/
repoUsername=admin
repoPassword=password

build.gradleで

apply plugin: 'maven'

repositories {
  maven {
    url = mavenServer+mavenRepo
  }
}

artifacts {
  archives file('yourxmlfile')
}

uploadArchives {
  repositories {
    mavenDeployer {

      pom.artifactId = 'yourID'

      repository(url: mavenServer+mvnReleases) {
        authentication(username:repoUsername, password:repoPassword)
      }
    }
  }
}

/.m2/ディレクトリ内のsettings.xmlにあります

<settings xsd="<apache maven xsd>">
<mirrors>
  <mirror>
    <id>sonatype</id>
    <name>local sonatype nexus</name>
    <url>http://localServer/nexus/content/groups/public</url>
    <mirrorOf>*, !snapshots, !releases</mirrorOf>
  </mirror>
</mirrors>
</settings>

この最後のビットは、Mavenミラーをリリース可能なアーティファクトから分離します

于 2012-11-30T14:34:31.573 に答える