!2 package init

Merge pull request !2 from sugarfillet/master
This commit is contained in:
openeuler-ci-bot 2020-02-27 09:44:32 +08:00 committed by Gitee
commit 41e3be9f94
4 changed files with 384 additions and 0 deletions

View File

@ -0,0 +1,59 @@
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

BIN
1.71.tar.gz Normal file

Binary file not shown.

277
beust-jcommander.pom Normal file
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>

48
beust-jcommander.spec Normal file
View File

@ -0,0 +1,48 @@
Name: beust-jcommander
Version: 1.71
Release: 6
Summary: Java framework for parsing command line parameters
License: ASL 2.0
URL: http://jcommander.org/
BuildArch: noarch
Source0: https://github.com/cbeust/jcommander/archive/%{version}.tar.gz
Source1: beust-jcommander.pom
Patch0001: 0001-ParseValues-NullPointerException-patch.patch
BuildRequires: maven-local mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:) mvn(org.testng:testng)
%description
JCommander is a very small Java framework that makes it trivial to
parse command line parameters.
%package help
Summary: API documentation for beust-jcommander
Provides: beust-jcommander-javadoc = %{version}-%{release}
Obsoletes: beust-jcommander-javadoc < %{version}-%{release}
%description help
This package contains the API documentation for beust-jcommander.
%prep
%autosetup -n jcommander-%{version} -p1
chmod -x license.txt
cp -p %SOURCE1 pom.xml
sed -i 's/@VERSION@/%{version}/g' pom.xml
%build
%mvn_file : beust-jcommander
%mvn_build
%install
%mvn_install
%files -f .mfiles
%doc license.txt notice.md README.markdown
%files help -f .mfiles-javadoc
%changelog
* Wed Feb 12 2020 Shuaishuai Song <songshuaishuai2@huawei.com> - 1.71-6
- Package init