jenkinsci / gradle-jte-plugin

A Gradle Plugin that allows bundles a JTE library source into a Jenkins Plugin
Apache License 2.0
1 stars 4 forks source link

Support for Multiple Libraries #7

Open byrner75 opened 1 year ago

byrner75 commented 1 year ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.387.1 OS: Linux - 5.4.0-1094-azure Java: 11.0.18 - Eclipse Adoptium (OpenJDK 64-Bit Server VM) --- ace-editor:1.1 ansicolor:1.0.2 ant:481.v7b_09e538fcca antisamy-markup-formatter:159.v25b_c67cd35fb_ apache-httpcomponents-client-4-api:4.5.14-150.v7a_b_9d17134a_5 artifactory:3.18.0 authentication-tokens:1.4 authorize-project:1.4.0 azure-ad:313.v14b_f37ff114d azure-credentials:254.v64da_8176c83a azure-credentials-ext:1.0 azure-keyvault:161.va_60991a_5d3d2 azure-sdk:118.v43f74dd9ca_dc bootstrap4-api:4.6.0-5 bootstrap5-api:5.2.2-1 bouncycastle-api:2.27 branch-api:2.1071.v1a_188a_562481 caffeine-api:2.9.3-65.v6a_47d0f4d1fe checks-api:1.8.1 cloudbees-bitbucket-branch-source:796.v6cb_1559e1673 cloudbees-disk-usage-simple:178.v1a_4d2f6359a_8 cloudbees-folder:6.815.v0dd5a_cb_40e0e command-launcher:90.v669d7ccb_7c31 commons-lang3-api:3.12.0-36.vd97de6465d5b_ commons-text-api:1.10.0-36.vc008c8fcda_7b_ config-file-provider:3.11.1 configuration-as-code:1569.vb_72405b_80249 credentials:1214.v1de940103927 credentials-binding:523.vd859a_4b_122e6 data-tables-api:1.13.3-1 display-url-api:2.3.7 durable-task:504.vb10d1ae5ba2f echarts-api:5.4.0-2 embeddable-build-status:339.v1edb_5e63da_45 extended-read-permission:3.2 font-awesome-api:6.3.0-1 gatling:1.3.0 git:4.14.2 git-client:3.13.1 git-server:99.va_0826a_b_cdfa_d gitlab-api:5.0.1-78.v47a_45b_9f78b_7 gitlab-branch-source:646.vb_9560d64b_69f gradle:2.3.1 handlebars:3.0.8 handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953 htmlpublisher:1.31 instance-identity:142.v04572ca_5b_265 ionicons-api:31.v4757b_6987003 ivy:2.4 jackson2-api:2.14.2-319.v37853346a_229 jacoco:3.3.2 jakarta-activation-api:2.0.1-3 jakarta-mail-api:2.0.1-3 javadoc:226.v71211feb_e7e9 javax-activation-api:1.2.0-6 javax-mail-api:1.6.2-9 jaxb:2.3.8-1 jdk-tool:63.v62d2fd4b_4793 jersey2-api:2.38-1 jjwt-api:0.11.5-77.v646c772fddb_0 jnr-posix-api:3.1.16-2 job-dsl:1.79 jquery:1.12.4-1 jquery3-api:3.6.3-1 jsch:0.1.55.61.va_e9ee26616e7 jte-library-scaffold:1.0-SNAPSHOT (private-2023-03-22T14:57:29Z-robbyrne) junit:1177.v90374a_ef4d09 kubernetes:3893.v73d36f3b_9103 kubernetes-client-api:6.4.1-215.v2ed17097a_8e9 kubernetes-credentials:0.10.0 ldap:659.v8ca_b_a_fe79fa_d lockable-resources:1131.vb_7c3d377e723 mailer:448.v5b_97805e3767 matrix-auth:3.1.6 matrix-project:785.v06b_7f47b_c631 maven-plugin:3.21 metrics:4.2.13-420.vea_2f17932dd6 mina-sshd-api-common:2.9.2-50.va_0e1f42659a_a mina-sshd-api-core:2.9.2-50.va_0e1f42659a_a momentjs:1.1.1 okhttp-api:4.10.0-127.vf711b_27a_f7fe pam-auth:1.10 pipeline-build-step:486.vd08f550cceee pipeline-graph-analysis:202.va_d268e64deb_3 pipeline-groovy-lib:629.vb_5627b_ee2104 pipeline-input-step:466.v6d0a_5df34f81 pipeline-milestone-step:111.v449306f708b_7 pipeline-model-api:2.2118.v31fd5b_9944b_5 pipeline-model-definition:2.2118.v31fd5b_9944b_5 pipeline-model-extensions:2.2118.v31fd5b_9944b_5 pipeline-rest-api:2.31 pipeline-stage-step:305.ve96d0205c1c6 pipeline-stage-tags-metadata:2.2118.v31fd5b_9944b_5 pipeline-stage-view:2.31 pipeline-utility-steps:2.15.1 plain-credentials:143.v1b_df8b_d3b_e48 plugin-util-api:3.1.0 popper-api:1.16.1-3 popper2-api:2.11.6-2 prometheus:2.1.1 resource-disposer:0.21 run-condition:1.5 saml:2.333.vc81e525974a_c scm-api:631.v9143df5b_e4a_a script-security:1229.v4880b_b_e905a_6 simple-theme-plugin:146.v0e67db_a_9052e snakeyaml-api:1.33-95.va_b_a_e3e47b_fa_4 sonar:2.15 ssh-agent:327.v230ecd01f86f ssh-credentials:305.v8f4381501156 sshd:3.275.v9e17c10f2571 structs:324.va_f5d6774f3a_d templating-engine:2.5.3 token-macro:321.vd7cc1f2a_52c8 trilead-api:1.67.vc3938a_35172f variant:59.vf075fe829ccb view-job-filters:2.3 workflow-aggregator:596.v8c21c963d92d workflow-api:1208.v0cc7c6e0da_9e workflow-basic-steps:1010.vf7a_b_98e847c1 workflow-cps:3641.vf58904a_b_b_5d8 workflow-cps-global-lib:609.vd95673f149b_b workflow-durable-task-step:1234.v019404b_3832a workflow-job:1282.ve6d865025906 workflow-multibranch:733.v109046189126 workflow-scm-step:400.v6b_89a_1317c9a_ workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:839.v35e2736cfd5c ```

What Operating System are you using (both controller, and any agents involved in the problem)?

Azure Kubernetes Service

Reproduction steps

  1. ./gradlew jte

Expected Results

Build a hpi file

Actual Results

Seeing lots of the following errors Invalid duplicate class definition of class library_config

Anything else?

I'm having the issue trying to package a JTE pipeline set of libraries. Not sure if this should be logged as a bug or a feature request.

byrner75 commented 1 year ago

By tweaking my build.gradle file I was able to get around this issue. So might be more a change to the https://github.com/steven-terrana/jte-library-scaffold repo.

The following seems to be causing the issue.

sourceSets{
  main{
    groovy{
      srcDirs = [ "libraries" ]
    }
  }
}

On a related topic, the reason I'm trying the Plugin Library Provider is because with my current setup on Azure using Azure File and ZRS for persistence the performance of JTE is horrendously slow.