Содержание

Maven

https://maven.apache.org/settings.html
https://maven.apache.org/configure.html - переменные и файлы конфигурации

$HOME/.m2/settings.xml

$HOME/.m2/settings.xml

Пример для аутентификации в репозитории с id «maven»:

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0&#xA;https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <servers>
    <server>
      <id>maven</id>
      <username>USER</username>
      <password>PASS</password>
    </server>
  </servers>
</settings>

Примеры

Публикация

Опубликовать jar в репозиторий (при условии, что аутентификация для id maven-snapshots прописана в settings):

mvn deploy:deploy-file -f target/parser-0.0-SNAPSHOT.pom -Durl=https://nexus.domain.com/repository/maven-snapshots -DrepositoryId=maven-snapshots -DgroupId=com.domain.app -DartifactId=app -Dpackaging=jar -Dversion="0.0-SNAPSHOT" -Dfile="app-0.0-SNAPSHOT.jar"

аргументы командной строки можно передать через конфигурационный файл .mvn/maven.config и groupId, artifactId, packaging, version должны быть описаны в pom файле, пример:

echo '-Durl=https://nexus.domain.com/repository/maven-snapshots -DrepositoryId=maven-snapshots' > .mvn/maven.config
mvn deploy:deploy-file -DpomFile=target/parser-0.0-SNAPSHOT.pom -Dfile="app-0.0-SNAPSHOT.jar"

для добавления source, передать:

-Dsources=app-0.0-SNAPSHOT-sources.jar

https://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html

Для поддержки пакетов для android (aar, apk, apklib) в pom файле должен быть блок:

<project>
  <build>
    <plugins>
      <plugin>
        <groupId>com.simpligility.maven.plugins</groupId>
        <artifactId>android-maven-plugin</artifactId>
        <version>4.6.0</version>
        <extensions>true</extensions>
      </plugin>
    </plugins>
  </build>    
</project>

https://github.com/simpligility/android-maven-plugin

Получение

Получить из mavenCentral jar и pom файлы в ~/.m2/repository:

mvn dependency:get -Dartifact=com.simpligility.maven.plugins:android-maven-plugin:4.6.0 -Dtransitive=false

Получить из приватного репозитория aar и pom файлы (в $HOME/.m2/settings.xml должна быть прописана аутентификация для ID репозитория):

mvn dependency:get -DremoteRepositories=${REPOID}::::${REPOURL} -Dartifact=${GROUP.ID}:${ARTIFACTID}:${VERSION}:aar -Dtransitive=false

https://maven.apache.org/plugins/maven-dependency-plugin/get-mojo.html

Получить и скопировать из mavenCentral pom файл в директорию:

mvn dependency:copy -Dartifact=com.simpligility.maven.plugins:android-maven-plugin:4.6.0:pom -DoutputDirectory=/tmp

https://maven.apache.org/plugins/maven-dependency-plugin/copy-mojo.html