-
Notifications
You must be signed in to change notification settings - Fork 287
Gradle ArtifactoryPublish Task doesn't publish BOM modules #1496
Description
Describe the bug
We have a Gradle Module structure like this:
.
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
├── project-bom
│ ├── build
│ │ └── publications
│ │ └── maven
│ │ ├── module.json
│ │ └── pom-default.xml
│ ├── build.gradle
│ ├── project-module1
│ │ ├── build
│ │ │ ├── libs
│ │ │ │ └── project-module1-1.0.1.jar
│ │ ├── build.gradle
│ ├── project-module2
│ │ ├── build
│ │ │ ├── libs
│ │ │ │ └── project-module2-1.0.1.jar
│ │ ├── build.gradle
├── project-test-bom
│ ├── build.gradle
│ └── project-test
│ ├── build
│ │ ├── libs
│ │ │ └── project-test-1.0.1.jar
│ └── build.gradle
...
When publishing with jf gradle artifactoryPublish, only the modules with a jar-file get uploaded to Artifactory.
So project-bom, which only was a pom-file, doesn't appear in the repository
To Reproduce
In a Gradle-Directory-Structure as above run:
jf c add default --url "${ARTIFACTORY_URL}" --user "${ARTIFACTORY_USER}" --password "${ARTIFACTORY_PASSWORD}" --interactive=false
jf gradlec --use-wrapper=true --server-id-resolve=default --server-id-deploy=default --repo-resolve=libs-release --repo-deploy="${ARTIFACTORY_DEPLOY_TO}"
jf gradle artifactoryPublish --build-name="${ARTIFACTORY_BUILD_NAME}" --build-number="${ARTIFACTORY_BUILD_NUMBER}" --project="${ARTIFACTORY_PROJECT_KEY}"
the resulting output is:
09:29:19 [Info] Running gradle...
09:29:19 [Info] Running gradle command: ./gradlew --init-script /home/jenkins/.jfrog/dependencies/gradle/4.26.0/gradle.init artifactoryPublish
Starting a Gradle Daemon (subsequent builds will be faster)
> Task :project-bom:project-module2:generateEffectiveLombokConfig
> Task :project-bom:project-module2:compileJava UP-TO-DATE
> Task :project-bom:project-module2:processResources UP-TO-DATE
> Task :project-bom:project-module2:classes UP-TO-DATE
> Task :project-bom:project-module2:jar UP-TO-DATE
> Task :project-bom:project-module2:generateMetadataFileForMavenJavaPublication
> Task :project-bom:project-module2:generatePomFileForMavenJavaPublication
> Task :project-bom:project-module2:artifactoryPublish
> Task :project-bom:project-module1:generateEffectiveLombokConfig
> Task :project-bom:project-module1:compileJava UP-TO-DATE
> Task :project-bom:project-module1:processResources UP-TO-DATE
> Task :project-bom:project-module1:classes UP-TO-DATE
> Task :project-bom:project-module1:jar UP-TO-DATE
> Task :project-bom:project-module1:generateMetadataFileForMavenJavaPublication
> Task :project-bom:project-module1:generatePomFileForMavenJavaPublication
> Task :project-bom:project-module1:artifactoryPublish
> Task :project-bom:artifactoryPublish
> Task :project-test-bom:project-test:generateEffectiveLombokConfig
> Task :project-test-bom:project-test:compileJava NO-SOURCE
> Task :project-test-bom:project-test:processResources NO-SOURCE
> Task :project-test-bom:project-test:classes UP-TO-DATE
> Task :project-test-bom:project-test:jar UP-TO-DATE
> Task :project-test-bom:project-test:generateMetadataFileForMavenJavaPublication
> Task :project-test-bom:project-test:generatePomFileForMavenJavaPublication
> Task :project-test-bom:project-test:artifactoryPublish
> Task :project-test-bom:artifactoryPublish
> Task :artifactoryPublish
> Task :extractModuleInfo
> Task :project-bom:extractModuleInfo
> Task :project-test-bom:extractModuleInfo
> Task :project-bom:project-module2:extractModuleInfo
> Task :project-bom:project-module1:extractModuleInfo
> Task :project-bom:project-validation:extractModuleInfo
> Task :project-bom:project-web:extractModuleInfo
> Task :project-test-bom:project-test:extractModuleInfo
[pool-1-thread-2] Deploying artifact: https://artifactory.....at/artifactory/libs-release-local/at/.../project/project-module1/1.0.0/project-module1-1.0.0.jar
[pool-1-thread-1] Deploying artifact: https://artifactory.....at/artifactory/libs-release-local/at/.../project/project-module2/1.0.0/project-module2-1.0.0.jar
[pool-1-thread-2] Deploying artifact: https://artifactory.....at/artifactory/libs-release-local/at/.../project/project-module1/1.0.0/project-module1-1.0.0.module
[pool-1-thread-1] Deploying artifact: https://artifactory.....at/artifactory/libs-release-local/at/.../project/project-module2/1.0.0/project-module2-1.0.0.module
[pool-1-thread-2] Deploying artifact: https://artifactory.....at/artifactory/libs-release-local/at/.../project/project-module1/1.0.0/project-module1-1.0.0.pom
[pool-1-thread-1] Deploying artifact: https://artifactory.....at/artifactory/libs-release-local/at/.../project/project-module2/1.0.0/project-module2-1.0.0.pom
[pool-1-thread-2] Deploying artifact: https://artifactory.....at/artifactory/libs-release-local/at/.../project/project-test/1.0.0/project-test-1.0.0.jar
[pool-1-thread-2] Deploying artifact: https://artifactory.....at/artifactory/libs-release-local/at/.../project/project-test/1.0.0/project-test-1.0.0.module
[pool-1-thread-2] Deploying artifact: https://artifactory.....at/artifactory/libs-release-local/at/.../project/project-test/1.0.0/project-test-1.0.0.pom
> Task :artifactoryDeploy
Expected behavior
The task :project-bom:artifactoryPublish uploads artifactory/libs-release-local/at/.../project/project-bom/1.0.0/project-bom-1.0.0.pom
Versions
- JFrog CLI version: Newest from Debian repository
- JFrog CLI operating system: Debian Bullseye Slim Docker image
- Artifactory Version: 6.17.0