javaparser 3.28.2-1
Package Information
| Description | Java library for parsing Java source files The library features abstract syntax tree (AST) generation and supports the visitor pattern. The AST records the source code structure, javadoc and comments. It is also possible to change the AST nodes or create new ones to modify the source code. Main features are: * light weight * good performance * easy to use * AST can be modified * AST can be created from scratch |
|---|---|
| Maintainer | Debian Java Maintainers <pkg-java-maintainers@lists.alioth.debian.org> |
| Changed By | Emmanuel Bourg <ebourg@apache.org> |
| Sponsor | ebourg@apache.org |
| Distribution | unstable |
| Architecture | all |
| VCS | git: https://salsa.debian.org/java-team/javaparser.git (browse) |
| Popcon Installs | 2072 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/javaparser |
| Uploaded | 2 hours ago |
New Package Report
.changes
| Source | javaparser |
|---|---|
| Version | 3.28.2-1 |
| Changed-By | Emmanuel Bourg <ebourg@apache.org> |
| Architecture | source all |
| Distribution | unstable |
| Date | Tue, 03 Nov 2026 08:52:14 +0100 |
Changelog
javaparser (3.28.2-1) unstable; urgency=medium
.
* Team upload.
* New upstream release
- Refreshed the patches
- Ignore the new central-publishing-maven-plugin
* Build the symbol solver in the new libjavaparser-symbol-solver-java package
* Updated the package description
* Updated debian/copyright
* Converted debian/watch to the version 5 format
* Removed the Priority field
* Standards-Version updated to 4.7.4.dsc
| Package-List | libjavaparser-java deb java optional arch=all libjavaparser-symbol-solver-java deb java optional arch=all |
|---|---|
| Section | java |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: javaparser
Upstream-Contact: Júlio Vilmar Gesser
Source: https://github.com/javaparser/javaparser
Files-Excluded: *.jar
*.aar
.mvn/*
mvnw*
Files: *
Copyright: 2007-2010, Júlio Vilmar Gesser
2011, 2013-2026, The JavaParser Team
2015-2016, Federico Tomassetti
2021, Oliver Kopp
License: LGPL-3+ or Apache-2.0
Files: javaparser-symbol-solver-testing/src/test/resources/PlatformTestUtil.java.txt
Copyright: 2000-2019, JetBrains s.r.o.
License: Apache-2.0
Files: debian/*
Copyright: 2013, Benjamin Mesing
2017-2026, Emmanuel Bourg
2022-2024, Pierre Gruet
License: LGPL-3+
License: LGPL-3+
LGPL license 3.0 or any later version of that license.
On Debian GNU/Linux system you can find the complete text of the
license in '/usr/share/common-licenses/LGPL-3'
License: Apache-2.0
On Debian systems, the full text of the Apache License, Version 2.0 can be
found in the file '/usr/share/common-licenses/Apache-2.0'.
DFSG Assistant LLM REVIEW 1 blocker, 1 important, 2 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 1 hour ago.
Report
DFSG NEW review for javaparser version 3.28.2-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: Yes
- Issues: 1 blocker, 1 important, 2 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: 12 found, 9 not mentioned in this report
Licensing
The JavaParser code itself is DFSG-free: every source header offers the LGPL version 3 or later or the Apache License 2.0, both licences are compatible, and both texts are covered by /usr/share/common-licenses pointers. debian/copyright is nevertheless inaccurate. Two symbol-solver test fixtures carry an 'All Rights Reserved. Confidential Information of Agilysys NV, LLC.' notice with no licence grant anywhere, so they cannot be redistributed as they are, and the catch-all Files: * stanza credits only the JavaParser holders while four TensorFlow samples and one Apache Groovy sample belong to other copyright holders.
Packaging
Sound, conventional maven-debian-helper packaging: debhelper-compat 13 with a plain dh $@ (the maven build system is auto-detected from pom.xml), a .poms file that assigns each shipped module to the right binary package, both binary packages Arch: all / Multi-Arch: foreign with substvars, DEP-3 headers on both patches, and Standards-Version 4.7.4, which is current. The only fault found is stale prose in debian/README.source.
Issues
blocker licensing 1. Two issue113 test fixtures carry an Agilysys 'All Rights Reserved / Confidential Information' notice and no licence grant ◂
- Files:
javaparser-symbol-solver-testing/src/test/resources/issue113/com/foo/Widget.java:2,javaparser-symbol-solver-testing/src/test/resources/issue113/com/foo/base/Widget.java:2 - Basis: checked, in the package or with a reference tool
- Evidence:
* (C) 2016 Agilysys NV, LLC. All Rights Reserved. Confidential Information of Agilysys NV, LLC. - Problem: The only statement in these two files is an ownership and confidentiality notice; no permission to copy, modify or distribute is given, so they are not licensed at all. debian/copyright has no stanza for them, so
Files: *attributes them to the JavaParser Team underLGPL-3+ or Apache-2.0, which is false, and the source package ships them anyway. Distribution without a grant fails DFSG 1-3 and Policy 2.2.1 (every package in main must comply with the DFSG) and Policy 12.5. Note that simply adding aFiles:stanza for them withLicense: LGPL-3+ or Apache-2.0, as the scan's holder list suggests, would not fix it: there is no such grant to record. - Fix: Get a licence from Agilysys (or upstream's confirmation that the paste is licensed under the project's terms), or drop the two files from the source package (a further
Files-Excluded/repack) and adapt Issue113Test.java, which parsessrc/test/resources/issue113/com/foo/Widget.java. Whichever way it is settled, record the files, their real holder and their real licence in debian/copyright.
important
licensing
2. Files: * does not name The TensorFlow Authors or the Apache Software Foundation, whose files are in the tree
◂
- Files:
javaparser-core-testing/src/test/resources/com/github/javaparser/issue_samples/issue_2627/Ops.java:1,javaparser-core-testing/src/test/resources/com/github/javaparser/issue_samples/issue_2627/Ops_cr.java:1,javaparser-core-testing/src/test/resources/com/github/javaparser/issue_samples/issue_2627/Ops_crlf.java:1,javaparser-core-testing/src/test/resources/com/github/javaparser/issue_samples/issue_2627/Ops_lf.java:1,javaparser-core-testing/src/test/resources/com/github/javaparser/issue_samples/issue_2627/DefaultStrategy.java:2-18,debian/copyright:11-15 - Basis: checked, in the package or with a reference tool
- Evidence:
// Copyright 2020 The TensorFlow Authors. All Rights Reserved.(the four Ops*.java) and* Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.in DefaultStrategy.java, whosepackage groovy.transform.builder;shows it is an unmodified copy of Groovy's file. - Problem:
Files: *lists only Júlio Vilmar Gesser, the JavaParser Team, Federico Tomassetti and Oliver Kopp, so the copyright of these five files is attributed to the wrong entity, which makes debian/copyright inaccurate (Policy 4.5, 12.5). The licensing itself is fine — all five are Apache-2.0, one of the two optionsFiles: *offers — but the holders are missing while a comparable third-party file (PlatformTestUtil.java.txt, JetBrains) does have its own stanza. - Fix: Add a
Files:stanza forjavaparser-core-testing/src/test/resources/com/github/javaparser/issue_samples/issue_2627/Ops*.javawithCopyright: 2020 The TensorFlow Authors/License: Apache-2.0, and one forDefaultStrategy.javanaming The Apache Software Foundation (and Groovy's contributors) withLicense: Apache-2.0.
minor
packaging
3. debian/README.source documents a debian/rules get-orig-source target that does not exist
◂
- Files:
debian/README.source:9,debian/rules:3-4 - Basis: checked, in the package or with a reference tool
- Evidence:
The original tarball was repackaged, because it was distributed in there zip format. Use debian/rules get-orig-source to repeat the repackaging.while debian/rules is only%:/dh $@. - Problem: debian/rules has no get-orig-source target and
dhprovides no such action, so the documented command fails; the paragraph also still describes the source as repacked from a zip, whereas it is now fetched from git and excludes the Maven wrapper and the .jar/.aar fixtures. - Fix: Drop the paragraph, or point at the real procedure (uscan/git and the
Files-Excludedlist in debian/copyright).
minor packaging 4. Files-Excluded is set but the version carries no repack suffix ◂
- Files:
debian/copyright,debian/changelog,debian/watch - Basis: found by the review tooling's own checks
- Evidence:
3.28.2-1 - Problem:
debian/copyrighthasFiles-Excluded, so uscan repacks the upstream tarball, but the version indebian/changelogdoes not say so with a suffix such as+dfsgor+ds, as is the convention for a tarball that differs from upstream's. - Fix: Add the suffix to the version, and
Repacksuffixtodebian/watch.
Verified ◂
- Every Java source header under javaparser-core/ and javaparser-symbol-solver-core/ (1049 Copyright lines sampled in full) states the dual
either version 3 of the License, or (at your option) any later versionLGPL / Apache terms, matching theLGPL-3+ or Apache-2.0inFiles: *; the holders Gesser, JavaParser Team, Tomassetti and Kopp (RecordAsTypeIdentifierNotAllowed.java:3) are all named there. - The
PlatformTestUtil.java.txtstanza is correct: the file starts// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license, which the stanza records as Apache-2.0. - No other third-party licence wording exists in the tree: a tree-wide search for
Permission is hereby granted, MIT, BSD, ISC, MPL, EPL, Creative Commons,public domainandAll rights reservedmatches only LICENSE.APACHE/LICENSE.GPL/LICENSE.LGPL (the project's own copies of the texts) and the TensorFlow/Agilysys headers reported above. - The eleven .class files listed by the scan are test inputs, not build output, and none is an issue:
javaparser-symbol-solver-testing/src/test/resources/record_declarations/box/Box.class,.../record_declarations/box/BoxWithAllConstructors.class,.../record_declarations/box/BoxWithNonCanonicalConstructor.class,.../record_declarations/box/Foo.classand.../record_declarations/box/GenericBox.classare loaded byte-by-byte through a ClassLoader in ReflectionRecordDeclarationTest (box/%s.class), which is why the matching sources Box.java, BoxWithAllConstructors.java, BoxWithNonCanonicalConstructor.java and GenericBox.java sit in the parentrecord_declarations/directory (Foo is the empty class the test declares without a source). javaparser-symbol-solver-testing/src/test/resources/EmptyVarargsCallTest/foo/Foo.class,.../issue2951/foo/A.class,.../issue2953/foo/A.class,.../issue2953/foo/IB.class,.../pullRequest2398/A.classand.../pullRequest2398/B.classare likewise compiled fixtures for the symbol solver's bytecode tests, each with its .java source beside it (Foo.java, A.java, IB.java, A.java, B.java).javaparser-core-testing/src/test/resources/com/github/javaparser/source_zip/test.zipis test data read by SourceZipTest; it containstest_zip/Bar.java,test_zip/test.txtandtest_zip/dir/.- Generated code has its inputs in the tree:
javaparser-core/src/main/javacc/java.jj,javaparser-core/src/main/java-templates/and the javaparser-core-generators / javaparser-core-metamodel-generator modules are all present, and no shipped file carries agenerated, do not editmarker. Files-Excluded(*.jar,*.aar,.mvn/*,mvnw*) matches the tree: no jar, aar, mvnw or .mvn exists, so the stanza does not name files that are still shipped.- debian/copyright is DEP-5 with the correct Format URI, Upstream-Name/Source, a
Files: *catch-all and per-file stanzas; no replacement file is needed. - Packaging: debhelper-compat 13 with
${maven:Depends},${misc:Depends}and${maven:OptionalDepends}present, two Arch: all / Multi-Arch: foreign packages, debian/libjavaparser-java.poms assigning javaparser-core to libjavaparser-java and javaparser-symbol-solver-core (with--package=libjavaparser-symbol-solver-java) to the new package, both patches carrying DEP-3 headers, and Standards-Version 4.7.4, whose first two components equal the reviewing system's Policy (4.7.4.1). - Build-Depends names exist in the archive: libjavacc-maven-plugin-java 3.2.1-1 (which itself depends on javacc, 7.0.13-1), libtemplating-maven-plugin-java 1.0.0-2 and libchecker-framework-java 3.2.0+ds-4.
- uscan found the packaged version as the newest upstream release (upstream
3.28.2, packaged3.28.2). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0,LGPL-3).
Not confirmed ◂
- Not verified whether the
--package=libjavaparser-symbol-solver-javaoption on the javaparser-symbol-solver-core line of debian/libjavaparser-java.poms is honoured by the component that actually installs the jar: this rules file uses the maven build system's own install step (debian-maven-plugin, invoked with the main package name), not mh_install/mh_installpom, and the mh tools' option parser would give the file-level package precedence. A build would show which package receives the symbol-solver jar and its /usr/share/maven-repo entries. - I could not check whether javassist-3.27-compatibility.patch is still needed against the javassist version in the archive; the method it replaces (
LocalVariableAttribute.variableNameByIndex) is only exercised at run time by the symbol solver's tests. - What these files are. The scan made before the review picked them out (built files, minified code, archives, licence wording that is rarely free, or licences that are not accepted), and this report does not mention them:
javaparser-symbol-solver-testing/src/test/resources/issue2951/foo/A.class(Java class file);javaparser-symbol-solver-testing/src/test/resources/issue2953/foo/A.class(Java class file);javaparser-symbol-solver-testing/src/test/resources/issue2953/foo/IB.class(Java class file);javaparser-symbol-solver-testing/src/test/resources/pullRequest2398/A.class(Java class file);javaparser-symbol-solver-testing/src/test/resources/pullRequest2398/B.class(Java class file);javaparser-symbol-solver-testing/src/test/resources/record_declarations/box/BoxWithAllConstructors.class(Java class file);javaparser-symbol-solver-testing/src/test/resources/record_declarations/box/BoxWithNonCanonicalConstructor.class(Java class file);javaparser-symbol-solver-testing/src/test/resources/record_declarations/box/Foo.class(Java class file);javaparser-symbol-solver-testing/src/test/resources/record_declarations/box/GenericBox.class(Java class file).
Proposed changes ◂
None.
Uploader's response to the LLM review
Waiting for the uploader's response until , because the review found serious issues.