[Git][java-team/checker-framework-java][master] Build dataflow and javacutil modules

Olek Wojnar (@olek) gitlab at salsa.debian.org
Fri Jul 14 19:36:49 BST 2023



Olek Wojnar pushed to branch master at Debian Java Maintainers / checker-framework-java


Commits:
96473c4d by Olek Wojnar at 2023-07-14T14:27:32-04:00
Build dataflow and javacutil modules

- - - - -


7 changed files:

- debian/changelog
- debian/control
- debian/libchecker-framework-java.poms
- + debian/patches/deprecated-getexpression.patch
- debian/patches/fix-gradle-build.patch
- debian/patches/series
- + debian/source/lintian-overrides


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,12 @@
+checker-framework-java (3.2.0+ds-2) unstable; urgency=medium
+
+  * Build dataflow and javacutil modules
+    - New build-dependency on libplume-util-java
+    - Added deprecated-getexpression.patch due to older Java code
+  * Reenable building of checker-qual-android module
+
+ -- Olek Wojnar <olek at debian.org>  Fri, 14 Apr 2023 16:13:02 -0400
+
 checker-framework-java (3.2.0+ds-1) unstable; urgency=medium
 
   * New upstream release (Closes: #1021632)


=====================================
debian/control
=====================================
@@ -2,16 +2,19 @@ Source: checker-framework-java
 Section: java
 Priority: optional
 Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
-Uploaders: Olek Wojnar <olek at debian.org>,
-           Andreas Tille <tille at debian.org>,
-Build-Depends: bnd,
-               debhelper-compat (= 13),
-               default-jdk,
-               gradle-apt-plugin,
-               gradle-debian-helper,
-               libgradle-core-java,
-               libgradle-plugins-java,
-               maven-repo-helper,
+Uploaders:
+ Olek Wojnar <olek at debian.org>,
+ Andreas Tille <tille at debian.org>,
+Build-Depends:
+ bnd,
+ debhelper-compat (= 13),
+ default-jdk,
+ gradle-apt-plugin,
+ gradle-debian-helper,
+ libgradle-core-java,
+ libgradle-plugins-java,
+ libplume-util-java,
+ maven-repo-helper,
 Standards-Version: 4.6.2
 Rules-Requires-Root: no
 Homepage: https://github.com/typetools/checker-framework


=====================================
debian/libchecker-framework-java.poms
=====================================
@@ -1,7 +1,7 @@
 #checker/build/debian/checker.pom --java-lib --artifact=checker/build/libs/*.jar
-#javacutil/build/debian/javacutil.pom --java-lib --artifact=javacutil/build/libs/*.jar
-#dataflow/build/debian/dataflow.pom --java-lib --artifact=dataflow/build/libs/*.jar
+javacutil/build/debian/javacutil.pom --java-lib --artifact=javacutil/build/libs/*.jar
+dataflow/build/debian/dataflow.pom --java-lib --artifact=dataflow/build/libs/*.jar
 #framework/build/debian/framework.pom --java-lib --artifact=framework/build/libs/*.jar
 checker-qual/build/debian/checker-qual.pom --java-lib --artifact=checker-qual/build/libs/*.jar
-#checker-qual-android/build/debian/checker-qual-android.pom --java-lib --artifact=checker-qual-android/build/libs/*.jar
+checker-qual-android/build/debian/checker-qual-android.pom --java-lib --artifact=checker-qual-android/build/libs/*.jar
 #framework-test/build/debian/framework-test.pom --java-lib --artifact=framework-test/build/libs/*.jar


=====================================
debian/patches/deprecated-getexpression.patch
=====================================
@@ -0,0 +1,32 @@
+Description: Build correctly since caseTree.getExpression() is deprecated
+ Hack to use the newer getExpressions() to prevent a Warning that becomes an
+ Error thanks to -Werror. This file was removed in upstream 3.7.1 and therefore
+ this patch should no longer be needed once that version or higher is in Debian.
+Author: Olek Wojnar <olek at debian.org>
+Forwarded: not-needed
+Last-Update: 2023-06-20
+
+--- a/dataflow/src/main/java/org/checkerframework/dataflow/cfg/CFGBuilder.java
++++ b/dataflow/src/main/java/org/checkerframework/dataflow/cfg/CFGBuilder.java
+@@ -3339,7 +3339,7 @@
+                 Integer defaultIndex = null;
+                 for (int i = 0; i < cases; ++i) {
+                     CaseTree caseTree = switchTree.getCases().get(i);
+-                    if (caseTree.getExpression() == null) {
++                    if (caseTree.getExpressions().isEmpty()) {
+                         defaultIndex = i;
+                     } else {
+                         buildCase(caseTree, i);
+@@ -3361,9 +3361,9 @@
+                 final Label nextBodyL = caseBodyLabels[index + 1];
+                 final Label nextCaseL = new Label();
+ 
+-                ExpressionTree exprTree = tree.getExpression();
+-                if (exprTree != null) {
+-                    Node expr = scan(exprTree, p);
++                List<? extends ExpressionTree> exprTree = tree.getExpressions();
++                if (!exprTree.isEmpty()) {
++                    Node expr = scan(exprTree.get(0), p);
+                     CaseNode test = new CaseNode(tree, switchExpr, expr, env.getTypeUtils());
+                     extendWithNode(test);
+                     extendWithExtendedNode(new ConditionalJump(thisBodyL, nextCaseL));


=====================================
debian/patches/fix-gradle-build.patch
=====================================
@@ -417,7 +417,7 @@ Last-Update: 2020-07-04
  
  task pythonIsInstalled(type: Exec) {
    description "Check that the python executable is installed."
-@@ -509,330 +181,29 @@
+@@ -509,104 +181,15 @@
  }
  
  subprojects {
@@ -519,30 +519,27 @@ Last-Update: 2020-07-04
          tasks.withType(Jar) {
              includeEmptyDirs = false
 -            if (archiveFileName.get().startsWith("checker-qual")) {
-+            //We're only building checker-qual
++            if (baseName.startsWith("checker-qual")) {
                  metaInf {
                      from './LICENSE.txt'
                  }
--            } else {
--                metaInf {
--                    from "${rootDir}/LICENSE.txt"
--                }
--            }
+@@ -618,10 +201,10 @@
              manifest {
                  attributes("Implementation-Version": "${project.version}")
                  attributes("Implementation-URL": "https://checkerframework.org")
 -                if (! archiveFileName.get().endsWith("source.jar")) {
--                    attributes('Automatic-Module-Name': "org.checkerframework." + project.name.replaceAll('-', '.'))
--                }
++                if (! baseName.endsWith("source.jar")) {
+                     attributes('Automatic-Module-Name': "org.checkerframework." + project.name.replaceAll('-', '.'))
+                 }
 -                if (archiveFileName.get().startsWith("checker-qual")) {
-+                //We're only building checker-qual
++                if (baseName.startsWith("checker-qual")) {
                      attributes("Bundle-License": "MIT")
--                } else {
--                    attributes("Bundle-License": "(GPL-2.0-only WITH Classpath-exception-2.0)")
--                }
--            }
--        }
--
+                 } else {
+                     attributes("Bundle-License": "(GPL-2.0-only WITH Classpath-exception-2.0)")
+@@ -629,210 +212,9 @@
+             }
+         }
+ 
 -        // Add tasks to run various checkers on all the main source sets.
 -        // TODO: fix or suppress all not.interned warnings and remove the suppression here.
 -        createCheckTypeTask(project.name, 'org.checkerframework.checker.interning.InterningChecker', 'Interning', ['-AsuppressWarnings=not.interned'])
@@ -672,9 +669,9 @@ Last-Update: 2020-07-04
 -                            "Time elapsed: ${seconds} sec\n"
 -                }
 -
-             }
-         }
- 
+-            }
+-        }
+-
 -        // Create a runErrorProne task.
 -        tasks.create(name: 'runErrorProne', type: JavaCompile, group: 'Verification') {
 -            description 'Run the error-prone compiler on the main sources'
@@ -750,7 +747,7 @@ Last-Update: 2020-07-04
  
  task checkBasicStyle(group: 'Format') {
      description 'Check basic style guidelines.  Not related to Checkstyle tool.'
-@@ -936,7 +307,6 @@
+@@ -936,7 +318,6 @@
  assemble.mustRunAfter(clean)
  task buildAll {
      description 'Build all jar files, including source and javadoc jars'
@@ -760,13 +757,28 @@ Last-Update: 2020-07-04
          dependsOn("${subproject.name}:javadocJar")
 --- a/settings.gradle
 +++ b/settings.gradle
-@@ -1,9 +1,3 @@
+@@ -1,9 +1,5 @@
  rootProject.name = 'checker-framework'
 -include 'checker'
--include 'javacutil'
--include 'dataflow'
+ include 'javacutil'
+ include 'dataflow'
 -include 'framework'
  include 'checker-qual'
  include 'checker-qual-android'
 -include 'framework-test'
 -
+--- a/dataflow/build.gradle
++++ b/dataflow/build.gradle
+@@ -3,12 +3,4 @@
+     implementation project(':checker-qual')
+ }
+ 
+-shadowJar {
+-    archiveFileName = "dataflow-shaded.jar"
+-    relocate 'org.checkerframework.dataflow', 'org.checkerframework.shaded.dataflow'
+-    relocate 'org.checkerframework.javacutil', 'org.checkerframework.shaded.javacutil'
+-}
+ 
+-artifacts {
+-    archives shadowJar
+-}


=====================================
debian/patches/series
=====================================
@@ -1,2 +1,3 @@
 fix-gradle-build.patch
 remove-doc-image-links.patch
+deprecated-getexpression.patch


=====================================
debian/source/lintian-overrides
=====================================
@@ -0,0 +1,3 @@
+# Image file affected by:
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1014255
+very-long-line-length-in-source-file



View it on GitLab: https://salsa.debian.org/java-team/checker-framework-java/-/commit/96473c4de1521b6aacef1e25655d3aef29adf705

-- 
View it on GitLab: https://salsa.debian.org/java-team/checker-framework-java/-/commit/96473c4de1521b6aacef1e25655d3aef29adf705
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20230714/c1b19832/attachment.htm>


More information about the pkg-java-commits mailing list