Gradle - сгенерированный снимок uploadArchives отличается от createJar - PullRequest
0 голосов
/ 04 июня 2018

С моим файлом build.gradle я создаю файл jar с помощью задачи createJar, которую я позже загружаю с помощью загрузки с помощью задачи uploadArchives.

Проект в Groovy, структурирован как: / src /main / groovy / package.name / src / test / groovy

Это тестовый файл jar, где основной класс находится в / src / test / groovy и используется для обработки классов из / src / main / groovy/package.name

Задача createJar работает и создает нужный мне JAR-файл.

Пока все хорошо.

Проблема заключается в том, что я запускаю uploadArchives, который генерируетsnapshot.jar, и он содержит только классы из /src/main/groovy/package.name

Чем отличаются два файла jar?

Как я могу сделать uploadArchives для загрузки jarиз createJar (или хотя бы включить тестовые классы и запустить его, используя основной класс, указанный в createJar)?

В build.gradle у меня есть что-то вроде:

apply plugin: 'groovy'
apply plugin: 'java'
apply plugin: 'maven'

sourceCompatibility = 1.5

repositories {
    mavenCentral()
}

artifacts {
    archives file: file('./build/libs/name-'+version+'.jar'), name: 'name', type: 'jar'
}

task createJar(type: Jar) {
    classifier 'test'
    from sourceSets.test.output

    manifest {
        attributes 'Implementation-Title': 'Gradle Jar File',
                   'Implementation-Version': version,
                   'Main-Class': 'MainClassName'
    }
}

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "http://url/snapshotsFolder/") {
                authentication(userName: "user", password: "pass")
            }
        }
    }
}

1 Ответ

0 голосов
/ 04 июня 2018

Чтобы расширить мой комментарий, позвольте мне добавить пример:

jar {
    classifier 'test' 
    from sourceSets.test.output
    manifest { 
        attributes 'Implementation-Title': 'Gradle Jar File', 'Implementation-Version': version, 'Main-Class': 'MainClassName'
    }
}

Это настроит задачу jar типа Jar, которая создается плагином java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...