import beust-jcommander-1.71-5.module+el8+2598+06babf2e

This commit is contained in:
CentOS Sources 2019-08-02 15:12:59 -04:00 committed by Stepan Oksanichenko
commit 247fd547c2
6 changed files with 504 additions and 0 deletions

View File

@ -0,0 +1 @@
8ba3dc3ac84185a4969e27fa0e985a70352fd2dc SOURCES/beust-jcommander-1.71.tar.gz

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
SOURCES/beust-jcommander-1.71.tar.gz

View File

@ -0,0 +1,61 @@
From 2b813829d02b89206493520eb86075a43b145db9 Mon Sep 17 00:00:00 2001
From: Roman Vais <rvais@redhat.com>
Date: Tue, 13 Jun 2017 13:24:24 +0200
Subject: [PATCH] ParseValues-NullPointerException-patch
---
.../java/com/beust/jcommander/Parameterized.java | 27 ++++++++++++++++++++--
1 file changed, 25 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/beust/jcommander/Parameterized.java b/src/main/java/com/beust/jcommander/Parameterized.java
index 3264008..e937a66 100644
--- a/src/main/java/com/beust/jcommander/Parameterized.java
+++ b/src/main/java/com/beust/jcommander/Parameterized.java
@@ -13,6 +13,8 @@ import java.lang.reflect.Type;
import java.util.Collections;
import java.util.List;
import java.util.Set;
+import java.util.logging.Level;
+import java.util.logging.Logger;
/**
* Encapsulate a field or a method annotated with @Parameter or @DynamicParameter
@@ -180,12 +182,33 @@ public class Parameterized {
String fieldName = Character.toLowerCase(name.charAt(3)) + name.substring(4);
Object result = null;
try {
- Field field = method.getDeclaringClass().getDeclaredField(fieldName);
+ Field field = object.getClass().getDeclaredField(fieldName);
if (field != null) {
setFieldAccessible(field);
result = field.get(object);
}
- } catch(NoSuchFieldException | IllegalAccessException ex) {
+ } catch(NoSuchFieldException ex) {
+ Class<?> clazz = object.getClass();
+ Field found = null;
+ while (clazz != null && method.getDeclaringClass().isAssignableFrom(clazz)) {
+ try {
+ found = clazz.getDeclaredField(fieldName);
+ } catch (NoSuchFieldException nfex) {
+ // ignore
+ }
+ if (found != null) break;
+ clazz = clazz.getSuperclass();
+ }
+ if (found != null) {
+ setFieldAccessible(found);
+ try {
+ result = found.get(object);
+ } catch (IllegalAccessException iex) {
+ // ignore
+ }
+ }
+
+ } catch(IllegalAccessException ex) {
// ignore
}
return result;
--
2.7.4

View File

@ -0,0 +1,277 @@
<!--
Copyright (C) 2010 the original author or authors.
See the notice.md file distributed with this work for additional
information regarding copyright ownership.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
<packaging>jar</packaging>
<name>JCommander</name>
<version>@VERSION@</version>
<description>A Java framework to parse command line options with annotations.</description>
<url>http://beust.com/jcommander</url>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:git@github.com:cbeust/jcommander.git</connection>
<developerConnection>scm:git:git@github.com:cbeust/jcommander.git</developerConnection>
<url>git@github.com:cbeust/jcommander.git</url>
</scm>
<repositories>
<repository>
<id>jcenter</id>
<name>bintray</name>
<url>http://jcenter.bintray.com</url>
</repository>
<!--
<repository>
<id>sonatype-nexus-staging</id>
<name>Nexus Staging Repository</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
<repository>
<id>oss-jfrog-artifactory</id>
<name>oss-jfrog-artifactory-snapshots</name>
<url>http://oss.jfrog.org/artifactory/oss-snapshot-local</url>
</repository>
-->
</repositories>
<distributionManagement>
<repository>
<id>sonatype-nexus-staging</id>
<name>Nexus Staging Repository</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
</distributionManagement>
<developers>
<developer>
<name>Cedric Beust</name>
</developer>
</developers>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>3</version>
</parent>
<build>
<plugins>
<!-- Compilation -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- Resource handling -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<!-- OSGi manifest creation -->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.1.0</version>
<executions>
<execution>
<id>bundle-manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<instructions>
<_versionpolicy>$(@)</_versionpolicy>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
<!-- Add OSGi manifest in JAR -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>
</configuration>
</plugin>
<!-- Tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.10</version>
<configuration>
<skipTests>false</skipTests>
</configuration>
</plugin>
<!-- Generating Javadoc -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.7</version>
<configuration>
<excludePackageNames>*.internal</excludePackageNames>
</configuration>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.apache.felix</groupId>
<artifactId>
maven-bundle-plugin
</artifactId>
<versionRange>
[2.1.0,)
</versionRange>
<goals>
<goal>manifest</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.21</version>
<type>jar</type>
<scope>test</scope>
<exclusions>
<exclusion>
<artifactId>jcommander</artifactId>
<groupId>com.beust</groupId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<profiles>
<!--
Do a license check by running : mvn -P license license:check
UPdate the license check by running : mvn -P license license:format
-->
<profile>
<id>license</id>
<build>
<plugins>
<plugin>
<groupId>com.mycila.maven-license-plugin</groupId>
<artifactId>maven-license-plugin</artifactId>
<version>1.7.0</version>
<configuration>
<quiet>false</quiet>
<header>src/main/license/license-header.txt</header>
<includes>
<include>src/**</include>
<include>pom.xml</include>
</includes>
<excludes>
<exclude>**/.git/**</exclude>
<!-- ignore files produced during a build -->
<exclude>**/target/**</exclude>
</excludes>
<useDefaultExcludes>false</useDefaultExcludes>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Signing with gpg -->
<!--
Sign the artifacts by calling
mvn -P sign [..]
-->
<profile>
<id>sign</id>
<build>
<plugins>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>

20
SOURCES/generate-tarball.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/bash
set -e
name=beust-jcommander
version="$(sed -n 's/Version:\s*//p' *.spec)"
# RETRIEVE
wget "https://github.com/cbeust/jcommander/archive/${version}.tar.gz" -O "${name}-${version}.orig.tar.gz"
rm -rf tarball-tmp
mkdir tarball-tmp
cd tarball-tmp
tar xf "../${name}-${version}.orig.tar.gz"
# CLEAN TARBALL
rm -r */gradle* */kobalt* */lib
tar cf "../${name}-${version}.tar.gz" *
cd ..
rm -r tarball-tmp "${name}-${version}.orig.tar.gz"

144
SPECS/beust-jcommander.spec Normal file
View File

@ -0,0 +1,144 @@
Name: beust-jcommander
Version: 1.71
Release: 5%{?dist}
Summary: Java framework for parsing command line parameters
License: ASL 2.0
URL: http://jcommander.org/
BuildArch: noarch
# ./generate-tarball.sh
Source0: %{name}-%{version}.tar.gz
# Adapted from earlier version that still shipped poms. It uses kobalt for building now
Source1: %{name}.pom
# Cleaned up bundled jars hose licensing cannot be easily verified
Source2: generate-tarball.sh
Patch0: 0001-ParseValues-NullPointerException-patch.patch
BuildRequires: maven-local
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:)
BuildRequires: mvn(org.testng:testng)
%description
JCommander is a very small Java framework that makes it trivial to
parse command line parameters (with annotations).
%package javadoc
Summary: API documentation for %{name}
%description javadoc
This package contains the %{summary}.
%prep
%setup -q -n jcommander-%{version}
%patch0 -p1
chmod -x license.txt
cp -p %SOURCE1 pom.xml
sed -i 's/@VERSION@/%{version}/g' pom.xml
%build
%mvn_file : %{name}
%mvn_build
%install
%mvn_install
%files -f .mfiles
%doc license.txt notice.md README.markdown
%files javadoc -f .mfiles-javadoc
%doc license.txt notice.md
%changelog
* Mon Jul 30 2018 Michael Simacek <msimacek@redhat.com> - 1.71-5
- Repack the tarball without binaries
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.71-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.71-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.71-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Tue Jun 13 2017 Roman Vais <rvais@redhat.com> - 1.71-1
- Update to upstream version 1.71
- Add patch for issue https://github.com/cbeust/jcommander/issues/367
* Fri Mar 10 2017 Roman Vais <rvais@redhat.com> - 1.66-1
- Update to upstream version 1.66
* Fri Feb 17 2017 Roman Vais <rvais@redhat.com> - 1.65-1
- Update to upstream version 1.65
* Thu Jan 26 2017 Roman Vais <rvais@redhat.com> - 1.62-1
- Update to upstream version 1.62
* Wed Dec 14 2016 Michael Simacek <msimacek@redhat.com> - 1.60-1
- Update to upstream version 1.60
* Tue Nov 01 2016 Roman Vais <rvais@redhat.com> - 1.58-1
- Update to upstream version 1.58
* Fri Sep 30 2016 Roman Vais <rvais@redhat.com> - 1.57-1
- Update to upstream version 1.57
- Correct directory setup in prep section
- Change of tarball name in source url to correspond to upstream
* Tue Sep 27 2016 Roman Vais <rvais@redhat.com> - 1.56-1
- New version release.
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.47-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.47-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Jan 28 2015 Michael Simacek <msimacek@redhat.com> - 1.47-1
- Update to upstream version 1.47
- Enable tests
* Mon Oct 13 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.45-1
- Update to upstream version 1.45
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.35-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed Feb 26 2014 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.35-1
- Update to upstream version 1.35
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.30-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Feb 06 2013 Java SIG <java-devel@lists.fedoraproject.org> - 1.30-3
- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild
- Replace maven BuildRequires with maven-local
* Wed Feb 6 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.30-2
- Replace BR: xmvn with maven-local
* Thu Jan 10 2013 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.30-1
- Update to upstream version 1.30
- Build with xmvn
* Thu Aug 16 2012 Mikolaj Izdebski <mizdebsk@redhat.com> - 1.17-6
- Install NOTICE files
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.17-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.17-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Nov 30 2011 Alexander Kurtakov <akurtako@redhat.com> 1.17-3
- Use the new maven macro.
* Mon May 16 2011 Jaromir Capik <jcapik@redhat.com> - 1.17-2
- Unwanted comment removal
- Target javadoc:jar replaced with javadoc:aggregate
* Fri May 13 2011 Jaromir Capik <jcapik@redhat.com> - 1.17-1
- Initial version of the package