Compare commits
10 Commits
c451e1b16a
...
454736aac6
Author | SHA256 | Date | |
---|---|---|---|
454736aac6 | |||
413e41301c | |||
1f900d909b | |||
ce39325746 | |||
75fd5a9215 | |||
5af264c904 | |||
0d3bcb5115 | |||
55d0513832 | |||
4dc08a92f7 | |||
f849f308a5 |
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b170892ccab5e135af348fbb6dcc0bad45079720f588875abe6e53a5ed26a52d
|
||||
size 4582443
|
@@ -9,7 +9,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.github.spotbugs</groupId>
|
||||
<artifactId>spotbugs</artifactId>
|
||||
<version>4.8.6</version>
|
||||
<version>4.9.3</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>SpotBugs</name>
|
||||
<description>SpotBugs: Because it's easy!</description>
|
||||
@@ -87,37 +87,37 @@
|
||||
<dependency>
|
||||
<groupId>org.ow2.asm</groupId>
|
||||
<artifactId>asm</artifactId>
|
||||
<version>9.7</version>
|
||||
<version>9.7.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.ow2.asm</groupId>
|
||||
<artifactId>asm-analysis</artifactId>
|
||||
<version>9.7</version>
|
||||
<version>9.7.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.ow2.asm</groupId>
|
||||
<artifactId>asm-commons</artifactId>
|
||||
<version>9.7</version>
|
||||
<version>9.7.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.ow2.asm</groupId>
|
||||
<artifactId>asm-tree</artifactId>
|
||||
<version>9.7</version>
|
||||
<version>9.7.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.ow2.asm</groupId>
|
||||
<artifactId>asm-util</artifactId>
|
||||
<version>9.7</version>
|
||||
<version>9.7.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.bcel</groupId>
|
||||
<artifactId>bcel</artifactId>
|
||||
<version>6.9.0</version>
|
||||
<version>6.10.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@@ -161,31 +161,31 @@
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-lang3</artifactId>
|
||||
<version>3.14.0</version>
|
||||
<version>3.17.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-text</artifactId>
|
||||
<version>1.10.0</version>
|
||||
<version>1.13.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.slf4j</groupId>
|
||||
<artifactId>slf4j-api</artifactId>
|
||||
<version>2.0.13</version>
|
||||
<version>2.0.17</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.github.spotbugs</groupId>
|
||||
<artifactId>spotbugs-annotations</artifactId>
|
||||
<version>4.8.6</version>
|
||||
<version>4.9.3</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.google.code.gson</groupId>
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.11.0</version>
|
||||
<version>2.12.1</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
@@ -197,13 +197,13 @@
|
||||
<dependency>
|
||||
<groupId>net.sf.saxon</groupId>
|
||||
<artifactId>Saxon-HE</artifactId>
|
||||
<version>12.4</version>
|
||||
<version>12.5</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.logging.log4j</groupId>
|
||||
<artifactId>log4j-core</artifactId>
|
||||
<version>2.23.1</version>
|
||||
<version>2.24.3</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
3
spotbugs-4.9.3.tar.gz
Normal file
3
spotbugs-4.9.3.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:156a21f948a807dcc9f702cd851b7af5f169bb9eee2afc171f3d044feb75a85c
|
||||
size 4636324
|
@@ -9,7 +9,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.github.spotbugs</groupId>
|
||||
<artifactId>spotbugs-annotations</artifactId>
|
||||
<version>4.8.6</version>
|
||||
<version>4.9.3</version>
|
||||
<name>SpotBugs Annotations</name>
|
||||
<description>Annotations the SpotBugs tool supports</description>
|
||||
<url>https://spotbugs.github.io/</url>
|
@@ -9,7 +9,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.github.spotbugs</groupId>
|
||||
<artifactId>spotbugs-ant</artifactId>
|
||||
<version>4.8.6</version>
|
||||
<version>4.9.3</version>
|
||||
<name>SpotBugs Ant Task</name>
|
||||
<description>Ant Task to run SpotBugs</description>
|
||||
<url>https://spotbugs.github.io/</url>
|
||||
@@ -86,7 +86,7 @@
|
||||
<dependency>
|
||||
<groupId>com.github.spotbugs</groupId>
|
||||
<artifactId>spotbugs</artifactId>
|
||||
<version>4.8.6</version>
|
||||
<version>4.9.3</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
215
spotbugs.changes
215
spotbugs.changes
@@ -1,3 +1,218 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu May 1 07:46:31 UTC 2025 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Explicitely state all relevant build requires
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 27 21:37:22 UTC 2025 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Fix javadoc generation with javadoc:aggregate
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 15 21:48:59 UTC 2025 - Anton Shvetz <shvetz.anton@gmail.com>
|
||||
|
||||
- Update to v4.9.3
|
||||
* Added
|
||||
+ Introduced UselessSuppressionDetector to report the useless
|
||||
annotations instead of NoteSuppressedWarnings (#3348)
|
||||
* Fixed
|
||||
+ Do not report US_USELESS_SUPPRESSION_ON_METHOD on synthetic
|
||||
methods (#3351)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 1 22:14:16 UTC 2025 - Anton Shvetz <shvetz.anton@gmail.com>
|
||||
|
||||
- Update to v4.9.2
|
||||
* Added
|
||||
+ Reporting useless @SuppressFBWarnings annotations (#641)
|
||||
* Fixed
|
||||
+ Fixed html bug descriptions for
|
||||
AT_STALE_THREAD_WRITE_OF_PRIMITIVE and
|
||||
AT_NONATOMIC_64BIT_PRIMITIVE (#3303)
|
||||
+ Fixed an HSM_HIDING_METHOD false positive when ECJ generates
|
||||
a synthetic method for an enum switch (#3305)
|
||||
+ Fix AT_UNSAFE_RESOURCE_ACCESS_IN_THREAD false negatives,
|
||||
detector depending on method order.
|
||||
+ Fix THROWS_METHOD_THROWS_CLAUSE_THROWABLE reported in a
|
||||
method calling MethodHandle.invokeExact due to its
|
||||
polymorphic signature (#3309)
|
||||
+ Fix AT_STALE_THREAD_WRITE_OF_PRIMITIVE false positive in
|
||||
inner class (#3310).
|
||||
+ Fix AT_STALE_THREAD_WRITE_OF_PRIMITIVE false positive for ECJ
|
||||
compiled enum switches (#3316)
|
||||
+ Fix RC_REF_COMPARISON false positive with Lombok With
|
||||
annotation (#3319)
|
||||
+ Avoid calling File.getCanonicalPath twice to improve
|
||||
performance (#3325)
|
||||
+ Fix MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR and
|
||||
MC_OVERRIDABLE_METHOD_CALL_IN_CLONE false positive when the
|
||||
overridable method is outside the class (#3328).
|
||||
+ Fix NullPointerException thrown from ThrowingExceptions
|
||||
detector (#3337).
|
||||
* Removed
|
||||
+ Removed the TLW_TWO_LOCK_NOTIFY, LI_LAZY_INIT_INSTANCE,
|
||||
BRSA_BAD_RESULTSET_ACCESS, BC_NULL_INSTANCEOF,
|
||||
NP_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR and
|
||||
RCN_REDUNDANT_CHECKED_NULL_COMPARISON deprecated bug
|
||||
patterns.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 10 01:42:47 UTC 2025 - Anton Shvetz <shvetz.anton@gmail.com>
|
||||
|
||||
- Update to v4.9.1
|
||||
* Added
|
||||
+ New detector SharedVariableAtomicityDetector for new bug
|
||||
types AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE,
|
||||
AT_NONATOMIC_64BIT_PRIMITIVE and
|
||||
AT_STALE_THREAD_WRITE_OF_PRIMITIVE (See SEI CERT rules
|
||||
VNA00-J, VNA02-J and VNA05-J).
|
||||
+ New detector FindHiddenMethod for bug type HSM_HIDING_METHOD.
|
||||
This bug is reported whenever a subclass method hides the
|
||||
static method of super class. (See SEI CERT MET07-J).
|
||||
* Fixed
|
||||
+ Fixed the parsing of generics methods in ThrowingExceptions
|
||||
(#3267)
|
||||
+ Accept the 1st parameter of
|
||||
java.util.concurrent.CompletableFuture's completeOnTimeout(),
|
||||
getNow() and obtrudeValue() functions as nullable (#1001).
|
||||
+ Fixed the analysis error when FindReturnRef was checking
|
||||
instructions corresponding to a CFG branch that was optimized
|
||||
away (#3266)
|
||||
+ Added execute file permission to files in the distribution
|
||||
archive (#3274)
|
||||
+ Fixed a stack overflow in MultipleInstantiationsOfSingletons
|
||||
when a singleton initializer makes recursive calls (#3280)
|
||||
+ Fixed NPE in FindReturnRef on inner class fields (#3283)
|
||||
+ Fixed NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE false positive
|
||||
when add edu.umd.cs.findbugs.annotations.Nullable (#3243)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 16 19:07:52 UTC 2025 - Anton Shvetz <shvetz.anton@gmail.com>
|
||||
|
||||
- Specify build and runtime dependencies on
|
||||
mvn(net.sf.saxon:Saxon-HE) < 11 to avoid ambiguity with newer
|
||||
versions of Saxon.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 16 10:36:16 UTC 2025 - Anton Shvetz <shvetz.anton@gmail.com>
|
||||
|
||||
- Update to v4.9.0
|
||||
* Added
|
||||
+ Updated the SuppressFBWarnings annotation to support finer
|
||||
grained bug suppressions (#3102)
|
||||
+ SimpleDateFormat, DateTimeFormatter, FastDateFormat string
|
||||
check for bad combinations of flag formatting (#637)
|
||||
+ New detector ResourceInMultipleThreadsDetector and introduced
|
||||
new bug type:
|
||||
~ AT_UNSAFE_RESOURCE_ACCESS_IN_THREAD is reported in case of
|
||||
unsafe resource access in multiple threads.
|
||||
* Fixed
|
||||
+ Do not consider Records as Singletons (#2981)
|
||||
+ Keep a maximum of 10000 cached analysis entries for plugin's
|
||||
analysis engines (#3025)
|
||||
+ Only report MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT when
|
||||
calling own methods (#2957)
|
||||
+ Check the actual caught exceptions (instead of their common
|
||||
type) when analyzing multi-catch blocks (#2968)
|
||||
+ System property findbugs.refcomp.reportAll is now being used.
|
||||
For some new conditions, it will emit an experimental warning
|
||||
(#2988)
|
||||
+ -version flag prints the version to the standard output
|
||||
(#2797)
|
||||
+ Revert the changes from (#2894) to get HTML stylesheets to
|
||||
work again (#2969)
|
||||
+ Fix FP SING_SINGLETON_GETTER_NOT_SYNCHRONIZED report when the
|
||||
synchronization is in a called method (#3045)
|
||||
+ Let BetterCFGBuilder2.isPEI handle dup2 bytecode used by
|
||||
Spring AOT (#3059)
|
||||
+ Detect failure to close RocksDB's ReadOptions (#3069)
|
||||
+ Fix FP EI_EXPOSE_REP when there are multiple immutable
|
||||
assignments (#3023)
|
||||
+ Fixed false positive
|
||||
NP_NONNULL_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR for Kotlin,
|
||||
handle Kotlin's Intrinsics.checkNotNullParameter() (#3094)
|
||||
+ Fixed some CWE mappings (#3124)
|
||||
+ Recognize some classes as immutable, fixing EI_EXPOSE and
|
||||
MS_EXPOSE FPs (#3137)
|
||||
+ Do not report UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR for
|
||||
fields initialized in method annotated with TestNG's
|
||||
@BeforeClass. (#3152)
|
||||
+ Fixed detector FindReturnRef not finding references exposed
|
||||
from nested and inner classes (#2042)
|
||||
+ Fix call graph, include non-parametric void methods (#3160)
|
||||
+ Fix multiple reporting of identical bugs messing up
|
||||
statistics (#3185)
|
||||
+ Added missing comma between line number and confidence when
|
||||
describing matching and mismatching bugs for tests (#3187)
|
||||
+ Fixed method matchers with array types (#3203)
|
||||
+ Fix SARIF report's message property in Exception to meet the
|
||||
standard (#3197)
|
||||
+ Fixed FI_FINALIZER_NULLS_FIELDS FPs for functions called
|
||||
finalize() but not with the correct signature. (#3207)
|
||||
+ Fixed an error in the detection of bridge methods causing
|
||||
analysis crashes (#3208)
|
||||
+ Fixed detector ThrowingExceptions by removing false positive
|
||||
reports, such as synthetic methods (lambdas), methods which
|
||||
inherited their exception specifications and methods which
|
||||
call throwing methods (#2040)
|
||||
+ Do not report DP_DO_INSIDE_DO_PRIVILEGED,
|
||||
DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED and
|
||||
USC_POTENTIAL_SECURITY_CHECK_BASED_ON_UNTRUSTED_SOURCE in
|
||||
code targeting Java 17 and above, since it advises the usage
|
||||
of deprecated method (#1515).
|
||||
+ Fixed a RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT false positive
|
||||
for a builder delegating to another builder (#3235)
|
||||
* Cleanup
|
||||
+ Cleanup thread issue and regex issue in test-harness (#3130)
|
||||
+ Remove extra blank lines and remove public from interface
|
||||
objects as inherently already public (#3131)
|
||||
+ Fix order of modifiers on properties/methods and ensure
|
||||
correct location in file (#3132, #3177)
|
||||
+ Return objects directly instead of creating more garbage
|
||||
collection by defining them (#3133, #3175)
|
||||
+ Restrict the constructor of abstract classes visibility to
|
||||
protected (#3178)
|
||||
+ Cleanup double initialization and fix comments referring to
|
||||
findbugs instead of spotbugs(#3134)
|
||||
+ Use diamond operator in constructor calls of Collections
|
||||
(#3176)
|
||||
+ Use Collection.isEmpty() or String.isEmpty() to test for
|
||||
emptiness (#3180, #3219)
|
||||
+ Use method references instead of lambdas where possible
|
||||
(#3179)
|
||||
+ Move default clauses to the end of switches (#3222)
|
||||
+ Remove unnecessary throws declarations (#3220)
|
||||
+ Use Boolean.parseBoolean() for string-to-boolean conversion.
|
||||
(#3217)
|
||||
+ Rename shadowing fields (#3221)
|
||||
+ Combine catch blocks with the same body (#3223)
|
||||
+ Merge conditions of nested ifs (#3231)
|
||||
+ Use non deprecated 'getDottedClassName' instead of
|
||||
'toDottedClassName'(#3251)
|
||||
+ Use try with resources where possible (#3253)
|
||||
* Changed
|
||||
+ Bump up Java version to 11
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 25 21:39:05 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Build against saxon10 which is the default saxon in Tumbleweed
|
||||
and exists in Leap 15.x. It also works just fine without sucking
|
||||
in new dependencies including circular dependency between saxon
|
||||
and xmlresolver.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 14 05:00:57 UTC 2024 - Anton Shvetz <shvetz.anton@gmail.com>
|
||||
|
||||
- Add runtime dependencies on
|
||||
mvn(org.apache.logging.log4j:log4j-{api,core,slf4j-impl}) and
|
||||
mvn(net.sf.saxon:Saxon-HE:12)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 26 08:34:21 UTC 2024 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Runtime dependencies are auto-generated
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jul 3 12:22:53 UTC 2024 - Anton Shvetz <shvetz.anton@gmail.com>
|
||||
|
||||
|
14
spotbugs.pod
14
spotbugs.pod
@@ -106,7 +106,7 @@ Specify a project to be analyzed. The project file you specify should be one
|
||||
that was created using the GUI interface. It will typically end in the
|
||||
extension C<.fb> or C<.fbp>.
|
||||
|
||||
=item B<-pluginList> <I<jar1>[;I<jar2>...]>:
|
||||
=item B<-pluginList> I<jar1>[;I<jar2>,…]:
|
||||
|
||||
Specify list of plugin Jar files to load.
|
||||
|
||||
@@ -359,7 +359,7 @@ Redo analysis in provided file.
|
||||
|
||||
=over
|
||||
|
||||
=item B<-bugCategories> I<cat1>[,I<cat2>...]
|
||||
=item B<-bugCategories> I<cat1>[,I<cat2>,…]
|
||||
|
||||
Only report bugs in given categories.
|
||||
|
||||
@@ -377,23 +377,23 @@ Exclude any bugs that match suppression filter loaded from fbp file.
|
||||
|
||||
=over
|
||||
|
||||
=item B<-visitors> I<v1>[,I<v2>...]
|
||||
=item B<-visitors> I<v1>[,I<v2>,…]
|
||||
|
||||
Run only named visitors.
|
||||
|
||||
=item B<-omitVisitors> I<v1>[,I<v2>...]
|
||||
=item B<-omitVisitors> I<v1>[,I<v2>,…]
|
||||
|
||||
Omit named visitors.
|
||||
|
||||
=item B<-chooseVisitors> +I<v1>,-I<v2>,...
|
||||
=item B<-chooseVisitors> +I<v1>,-I<v2>,…
|
||||
|
||||
Selectively enable/disable detectors.
|
||||
|
||||
=item B<-choosePlugins> +I<p1>,-I<p2>,...
|
||||
=item B<-choosePlugins> +I<p1>,-I<p2>,…
|
||||
|
||||
Selectively enable/disable plugins.
|
||||
|
||||
=item B<-adjustPriority> I<v1>=(B<raise>|B<lower>)[,...]
|
||||
=item B<-adjustPriority> I<v1>=(B<raise>|B<lower>)[,…]
|
||||
|
||||
Raise/lower priority of warnings for given visitor(s).
|
||||
|
||||
|
323
spotbugs.spec
323
spotbugs.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package spotbugs
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -19,7 +19,7 @@
|
||||
%global desc SpotBugs is the spiritual successor of FindBugs, carrying on from the point\
|
||||
where it left off with support of its community.
|
||||
Name: spotbugs
|
||||
Version: 4.8.6
|
||||
Version: 4.9.3
|
||||
Release: 0
|
||||
Summary: A tool for static analysis to look for bugs in Java code
|
||||
License: LGPL-2.1-only
|
||||
@@ -35,13 +35,16 @@ Patch0: 00-dont-use-manifest-classpath.patch
|
||||
BuildRequires: ImageMagick
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: maven-local
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: mvn(com.google.code.findbugs:jsr305)
|
||||
BuildRequires: mvn(com.google.code.gson:gson)
|
||||
BuildRequires: mvn(com.google.code.maven-replacer-plugin:replacer)
|
||||
BuildRequires: mvn(jaxen:jaxen)
|
||||
BuildRequires: mvn(net.jcip:jcip-annotations)
|
||||
BuildRequires: mvn(net.sf.saxon:Saxon-HE:12)
|
||||
BuildRequires: mvn(net.sf.saxon:Saxon-HE) < 11
|
||||
BuildRequires: mvn(org.apache.ant:ant)
|
||||
BuildRequires: mvn(org.apache.bcel:bcel)
|
||||
BuildRequires: mvn(org.apache.commons:commons-lang3)
|
||||
BuildRequires: mvn(org.apache.commons:commons-text)
|
||||
BuildRequires: mvn(org.apache.logging.log4j:log4j-api)
|
||||
BuildRequires: mvn(org.apache.logging.log4j:log4j-core)
|
||||
@@ -49,9 +52,17 @@ BuildRequires: mvn(org.apache.logging.log4j:log4j-slf4j-impl)
|
||||
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
|
||||
BuildRequires: mvn(org.codehaus.mojo:properties-maven-plugin)
|
||||
BuildRequires: mvn(org.dom4j:dom4j)
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: mvn(org.ow2.asm:asm)
|
||||
BuildRequires: mvn(org.ow2.asm:asm-analysis)
|
||||
BuildRequires: mvn(org.ow2.asm:asm-commons)
|
||||
BuildRequires: mvn(org.ow2.asm:asm-tree)
|
||||
BuildRequires: mvn(org.ow2.asm:asm-util)
|
||||
BuildRequires: mvn(org.slf4j:slf4j-api)
|
||||
Requires: javapackages-tools
|
||||
Requires: mvn(net.sf.saxon:Saxon-HE:12)
|
||||
Requires: mvn(net.sf.saxon:Saxon-HE) < 11
|
||||
Requires: mvn(org.apache.logging.log4j:log4j-api)
|
||||
Requires: mvn(org.apache.logging.log4j:log4j-core)
|
||||
Requires: mvn(org.apache.logging.log4j:log4j-slf4j-impl)
|
||||
Requires(post): hicolor-icon-theme
|
||||
Requires(post): update-desktop-files
|
||||
Requires(postun): hicolor-icon-theme
|
||||
@@ -102,173 +113,174 @@ sed -i -e 's#@SPOTBUGS_HOME@#%{_datadir}/%{name}#' %{name}/etc/script.properties
|
||||
|
||||
cat >pom.xml <<__POM__
|
||||
<project
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.github.%{name}</groupId>
|
||||
<artifactId>%{name}-parent</artifactId>
|
||||
<version>%{version}</version>
|
||||
<packaging>pom</packaging>
|
||||
<modules>
|
||||
<module>%{name}</module>
|
||||
<module>%{name}-annotations</module>
|
||||
<module>%{name}-ant</module>
|
||||
</modules>
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.github.%{name}</groupId>
|
||||
<artifactId>%{name}-parent</artifactId>
|
||||
<version>%{version}</version>
|
||||
<packaging>pom</packaging>
|
||||
<modules>
|
||||
<module>%{name}</module>
|
||||
<module>%{name}-annotations</module>
|
||||
<module>%{name}-ant</module>
|
||||
</modules>
|
||||
</project>
|
||||
__POM__
|
||||
|
||||
%pom_add_plugin org.apache.maven.plugins:maven-jar-plugin %{name} \
|
||||
'<configuration>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Automatic-Module-Name>com.github.spotbugs.spotbugs</Automatic-Module-Name>
|
||||
<Main-Class>edu.umd.cs.findbugs.LaunchAppropriateUI</Main-Class>
|
||||
<Bundle-Version>%{version}</Bundle-Version>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Automatic-Module-Name>com.github.spotbugs.spotbugs</Automatic-Module-Name>
|
||||
<Main-Class>edu.umd.cs.findbugs.LaunchAppropriateUI</Main-Class>
|
||||
<Bundle-Version>%{version}</Bundle-Version>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
</configuration>'
|
||||
|
||||
%pom_add_plugin org.codehaus.mojo:build-helper-maven-plugin %{name} \
|
||||
'<executions>
|
||||
<execution>
|
||||
<id>add-source</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>add-source</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<sources>
|
||||
<source>src/gui/main</source>
|
||||
</sources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>add-resource</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>add-resource</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<targetPath/>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
<include>**/*.db</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/gui/main</directory>
|
||||
<targetPath/>
|
||||
<includes>
|
||||
<include>**/*.png</include>
|
||||
<include>**/*.html</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/xsl</directory>
|
||||
<targetPath/>
|
||||
<includes>
|
||||
<include>*.xsl</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>etc</directory>
|
||||
<targetPath/>
|
||||
<includes>
|
||||
<include>*.xml</include>
|
||||
<include>*.xsd</include>
|
||||
<include>*.json</include>
|
||||
<include>*.txt</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>checkstyle.xml</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>add-source</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>add-source</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<sources>
|
||||
<source>src/gui/main</source>
|
||||
</sources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>add-resource</id>
|
||||
<phase>generate-sources</phase>
|
||||
<goals>
|
||||
<goal>add-resource</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/java</directory>
|
||||
<targetPath/>
|
||||
<includes>
|
||||
<include>**/*.properties</include>
|
||||
<include>**/*.db</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/gui/main</directory>
|
||||
<targetPath/>
|
||||
<includes>
|
||||
<include>**/*.png</include>
|
||||
<include>**/*.html</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/xsl</directory>
|
||||
<targetPath/>
|
||||
<includes>
|
||||
<include>*.xsl</include>
|
||||
</includes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>etc</directory>
|
||||
<targetPath/>
|
||||
<includes>
|
||||
<include>*.xml</include>
|
||||
<include>*.xsd</include>
|
||||
<include>*.json</include>
|
||||
<include>*.txt</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>checkstyle.xml</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>'
|
||||
|
||||
%pom_add_plugin org.codehaus.mojo:properties-maven-plugin %{name} \
|
||||
'<executions>
|
||||
<execution>
|
||||
<phase>initialize</phase>
|
||||
<goals><goal>read-project-properties</goal></goals>
|
||||
<configuration>
|
||||
<files>
|
||||
<file>etc/script.properties</file>
|
||||
</files>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<phase>initialize</phase>
|
||||
<goals><goal>read-project-properties</goal></goals>
|
||||
<configuration>
|
||||
<files>
|
||||
<file>etc/script.properties</file>
|
||||
</files>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>'
|
||||
|
||||
%pom_add_plugin com.google.code.maven-replacer-plugin:replacer %{name} \
|
||||
'<executions>
|
||||
<execution>
|
||||
<phase>prepare-package</phase>
|
||||
<goals><goal>replace</goal></goals>
|
||||
<configuration>
|
||||
<basedir>${basedir}</basedir>
|
||||
<includes>src/scripts/standard/*</includes>
|
||||
<regex>false</regex>
|
||||
<replacements>
|
||||
<replacement>
|
||||
<token>@GET_FBHOME@</token>
|
||||
<value>${script.get.fbhome}</value>
|
||||
</replacement>
|
||||
<replacement>
|
||||
<token>@SET_DEFAULT_JAVA@</token>
|
||||
<value>${script.set.default.java}</value>
|
||||
</replacement>
|
||||
<replacement>
|
||||
<token>@WRAP_JAVA@</token>
|
||||
<value>${script.wrap.java}</value>
|
||||
</replacement>
|
||||
<replacement>
|
||||
<token>@DEFINE_ESCAPE_ARG@</token>
|
||||
<value>${script.define.escape_arg}</value>
|
||||
</replacement>
|
||||
</replacements>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<phase>prepare-package</phase>
|
||||
<goals><goal>replace</goal></goals>
|
||||
<configuration>
|
||||
<basedir>${basedir}</basedir>
|
||||
<includes>src/scripts/standard/*</includes>
|
||||
<regex>false</regex>
|
||||
<replacements>
|
||||
<replacement>
|
||||
<token>@GET_FBHOME@</token>
|
||||
<value>${script.get.fbhome}</value>
|
||||
</replacement>
|
||||
<replacement>
|
||||
<token>@SET_DEFAULT_JAVA@</token>
|
||||
<value>${script.set.default.java}</value>
|
||||
</replacement>
|
||||
<replacement>
|
||||
<token>@WRAP_JAVA@</token>
|
||||
<value>${script.wrap.java}</value>
|
||||
</replacement>
|
||||
<replacement>
|
||||
<token>@DEFINE_ESCAPE_ARG@</token>
|
||||
<value>${script.define.escape_arg}</value>
|
||||
</replacement>
|
||||
</replacements>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>'
|
||||
|
||||
%pom_add_plugin org.apache.maven.plugins:maven-jar-plugin %{name}-annotations \
|
||||
'<configuration>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Automatic-Module-Name>com.github.spotbugs.annotations</Automatic-Module-Name>
|
||||
<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
|
||||
<Bundle-Name>%{name}-annotations</Bundle-Name>
|
||||
<Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment>
|
||||
<Bundle-SymbolicName>%{name}-annotations</Bundle-SymbolicName>
|
||||
<Bundle-Version>%{version}</Bundle-Version>
|
||||
<Export-Package>edu.umd.cs.findbugs.annotations</Export-Package>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Automatic-Module-Name>com.github.spotbugs.annotations</Automatic-Module-Name>
|
||||
<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
|
||||
<Bundle-Name>%{name}-annotations</Bundle-Name>
|
||||
<Bundle-RequiredExecutionEnvironment>J2SE-1.5</Bundle-RequiredExecutionEnvironment>
|
||||
<Bundle-SymbolicName>%{name}-annotations</Bundle-SymbolicName>
|
||||
<Bundle-Version>%{version}</Bundle-Version>
|
||||
<Export-Package>edu.umd.cs.findbugs.annotations</Export-Package>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
</configuration>'
|
||||
|
||||
%pom_add_plugin org.apache.maven.plugins:maven-jar-plugin %{name}-ant \
|
||||
'<configuration>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Automatic-Module-Name>com.github.spotbugs.ant</Automatic-Module-Name>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
<archive>
|
||||
<manifestEntries>
|
||||
<Automatic-Module-Name>com.github.spotbugs.ant</Automatic-Module-Name>
|
||||
</manifestEntries>
|
||||
</archive>
|
||||
</configuration>'
|
||||
|
||||
%build
|
||||
%{mvn_build} -f -- \
|
||||
-Dproject.build.outputTimestamp=$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ)
|
||||
-Dproject.build.outputTimestamp=$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ) \
|
||||
-Dmaven.compiler.{source,target}=9 -DlegacyMode=true -Dverbose=true
|
||||
|
||||
pod2man --release='%{name} %{version}' --section=1 --center='User Commands' --quotes=none %{SOURCE5} %{name}.1
|
||||
pod2man --release='%{name} %{version}' --section=1 --center='User Commands' --quotes=none -u %{SOURCE5} %{name}.1
|
||||
|
||||
for s in 16 22 32 44 48 64 128 150 200; do
|
||||
convert -resize $s %{name}/src/doc/%{name}.png %{name}-$s.png
|
||||
convert -resize $s %{name}/src/doc/%{name}.png %{name}-$s.png
|
||||
done
|
||||
|
||||
%install
|
||||
@@ -296,21 +308,18 @@ install -dm0755 %{buildroot}%{_datadir}/%{name}
|
||||
ln -s %{_javadir}/%{name} %{buildroot}%{_datadir}/%{name}/lib
|
||||
|
||||
ln -s $(xmvn-resolve \
|
||||
org.apache.bcel:bcel \
|
||||
org.apache.commons:commons-{lang3,text} \
|
||||
org.dom4j:dom4j \
|
||||
com.google.code.gson:gson \
|
||||
org.apache.httpcomponents.core5:httpcore5{,-h2} \
|
||||
org.apache.httpcomponents.client5:httpclient5 \
|
||||
jaxen:jaxen \
|
||||
org.ow2.asm:asm{,-{commons,util,analysis,tree}} \
|
||||
net.jcip:jcip-annotations \
|
||||
com.google.code.findbugs:jsr305 \
|
||||
org.apache.logging.log4j:log4j-{api,core,slf4j-impl} \
|
||||
org.slf4j:slf4j-api \
|
||||
org.xmlresolver:xmlresolver{,::data:} \
|
||||
net.sf.saxon:Saxon-HE:12 \
|
||||
) %{buildroot}%{_javadir}/%{name}/
|
||||
org.apache.bcel:bcel \
|
||||
org.apache.commons:commons-{lang3,text} \
|
||||
org.dom4j:dom4j \
|
||||
com.google.code.gson:gson \
|
||||
jaxen:jaxen \
|
||||
org.ow2.asm:asm{,-{commons,util,analysis,tree}} \
|
||||
net.jcip:jcip-annotations \
|
||||
com.google.code.findbugs:jsr305 \
|
||||
org.apache.logging.log4j:log4j-{api,core,slf4j-impl} \
|
||||
org.slf4j:slf4j-api \
|
||||
net.sf.saxon:Saxon-HE \
|
||||
) %{buildroot}%{_javadir}/%{name}/
|
||||
|
||||
# Scripts
|
||||
install -dm0755 %{buildroot}%{_bindir} %{buildroot}%{_datadir}/%{name}/bin
|
||||
@@ -319,8 +328,8 @@ ln -s %{_datadir}/%{name}/bin/{%{name},fb} %{buildroot}%{_bindir}
|
||||
|
||||
# Icons and desktop file
|
||||
for s in 16 22 32 44 48 64 128 150 200; do
|
||||
install -dm0755 %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
|
||||
install -Dm0644 %{name}-$s.png %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/%{name}.png
|
||||
install -dm0755 %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps
|
||||
install -Dm0644 %{name}-$s.png %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/%{name}.png
|
||||
done
|
||||
|
||||
install -dm0755 %{buildroot}%{_datadir}/applications
|
||||
|
Reference in New Issue
Block a user