forked from pool/beust-jcommander
This commit is contained in:
commit
b1172b0a40
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
61
0001-ParseValues-NullPointerException-patch.patch
Normal file
61
0001-ParseValues-NullPointerException-patch.patch
Normal 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
|
||||
|
3
beust-jcommander-1.71.tar.gz
Normal file
3
beust-jcommander-1.71.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9d084ad6b8087f2a215ee53a611a25e2d25903f400f36b92099be59cece7c481
|
||||
size 122566
|
4
beust-jcommander.changes
Normal file
4
beust-jcommander.changes
Normal file
@ -0,0 +1,4 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Oct 24 06:47:17 UTC 2018 - Fridrich Strba <fstrba@suse.com>
|
||||
|
||||
- Initial packaging built without maven, adapted from Fedora rpm
|
277
beust-jcommander.pom
Normal file
277
beust-jcommander.pom
Normal 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>
|
104
beust-jcommander.spec
Normal file
104
beust-jcommander.spec
Normal file
@ -0,0 +1,104 @@
|
||||
#
|
||||
# spec file for package beust-jcommander
|
||||
#
|
||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global short_name jcommander
|
||||
Name: beust-%{short_name}
|
||||
Version: 1.71
|
||||
Release: 0
|
||||
Summary: Java framework for parsing command line parameters
|
||||
License: Apache-2.0
|
||||
Group: Development/Libraries/Java
|
||||
URL: http://jcommander.org/
|
||||
# ./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: fdupes
|
||||
BuildRequires: java-devel >= 1.7
|
||||
BuildRequires: javapackages-local
|
||||
BuildRequires: javapackages-tools
|
||||
Requires: java >= 1.7
|
||||
Obsoletes: %{short_name} < %{version}-%{release}
|
||||
Provides: %{short_name} = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
||||
%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}
|
||||
Group: Development/Libraries/Java
|
||||
|
||||
%description javadoc
|
||||
This package contains the %{summary}.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{short_name}-%{version}
|
||||
%patch0 -p1
|
||||
|
||||
chmod -x license.txt
|
||||
cp -p %{SOURCE1} pom.xml
|
||||
sed -i 's/@VERSION@/%{version}/g' pom.xml
|
||||
|
||||
%build
|
||||
mkdir -p build/classes
|
||||
mkdir -p build/doc
|
||||
javac -d build/classes -source 7 -target 7 `find src/main/java -name *.java | xargs`
|
||||
javadoc -d build/javadoc -source 7 --source-path src/main/java/ `find src/main/java -name *.java | xargs`
|
||||
(cd build/classes && jar cf ../%{name}-%{version}.jar `find . -name *.class | xargs`)
|
||||
|
||||
%install
|
||||
# jars
|
||||
install -d -m 0755 %{buildroot}%{_javadir}
|
||||
install -m 644 build/%{name}-%{version}.jar \
|
||||
%{buildroot}%{_javadir}/%{name}-%{version}.jar
|
||||
(cd %{buildroot}%{_javadir} && ln -s %{name}-%{version}.jar %{name}.jar)
|
||||
(cd %{buildroot}%{_javadir} && ln -s %{name}-%{version}.jar %{short_name}-%{version}.jar)
|
||||
(cd %{buildroot}%{_javadir} && ln -s %{short_name}-%{version}.jar %{short_name}.jar)
|
||||
|
||||
# pom
|
||||
install -d -m 755 %{buildroot}%{_mavenpomdir}
|
||||
install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/%{name}-%{version}.pom
|
||||
%add_maven_depmap %{name}-%{version}.pom %{name}-%{version}.jar
|
||||
|
||||
# javadoc
|
||||
install -dm 755 %{buildroot}%{_javadocdir}/%{name}
|
||||
cp -pr build/javadoc/* %{buildroot}%{_javadocdir}/%{name}/
|
||||
%fdupes -s %{buildroot}%{_javadocdir}/%{name}/
|
||||
|
||||
%files
|
||||
%license license.txt
|
||||
%doc notice.md README.markdown
|
||||
%{_javadir}/*
|
||||
%{_mavenpomdir}/*
|
||||
%if %{defined _maven_repository}
|
||||
%{_mavendepmapfragdir}/%{name}
|
||||
%else
|
||||
%{_datadir}/maven-metadata/%{name}.xml*
|
||||
%endif
|
||||
|
||||
%files javadoc
|
||||
%license license.txt
|
||||
%doc notice.md
|
||||
%{_javadocdir}/%{name}
|
||||
|
||||
%changelog
|
20
generate-tarball.sh
Normal file
20
generate-tarball.sh
Normal 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 zxf "../${name}-${version}.orig.tar.gz"
|
||||
|
||||
# CLEAN TARBALL
|
||||
rm -r */gradle* */kobalt* */lib
|
||||
|
||||
tar zcf "../${name}-${version}.tar.gz" *
|
||||
cd ..
|
||||
rm -r tarball-tmp "${name}-${version}.orig.tar.gz"
|
Loading…
Reference in New Issue
Block a user