Sync from SUSE:ALP:Source:Standard:1.0 picocli revision a0268764040d41f59b8d9b914056db2a

This commit is contained in:
Adrian Schröter 2024-02-20 09:25:14 +01:00
commit 705255154e
9 changed files with 610 additions and 0 deletions

23
.gitattributes vendored Normal file
View 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

20
_service Normal file
View File

@ -0,0 +1,20 @@
<services>
<service name="tar_scm" mode="disabled">
<param name="scm">git</param>
<param name="url">https://github.com/remkop/picocli.git</param>
<param name="revision">v4.7.5</param>
<param name="match-tag">v*</param>
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="exclude">**/*.jar</param>
<param name="exclude">**/*.zip</param>
<param name="exclude">**/*.pom</param>
<param name="exclude">**/*gradle*</param>
<param name="exclude">docs</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*.tar</param>
<param name="compression">xz</param>
</service>
<service name="set_version" mode="disabled"/>
</services>

31
picocli-4.7.5.pom Normal file
View File

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://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>info.picocli</groupId>
<artifactId>picocli</artifactId>
<version>4.7.5</version>
<name>picocli</name>
<description>Java command line parser with both an annotations API and a programmatic API. Usage help with ANSI styles and colors. Autocomplete. Nested subcommands. Easily included as source to avoid adding a dependency.</description>
<url>https://picocli.info</url>
<inceptionYear>2018</inceptionYear>
<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>
<developers>
<developer>
<id>rpopma</id>
<name>Remko Popma</name>
<email>rpopma@apache.org</email>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/remkop/picocli.git</connection>
<developerConnection>scm:git:ssh://github.com:remkop/picocli.git</developerConnection>
<url>https://github.com/remkop/picocli/tree/master</url>
</scm>
</project>

BIN
picocli-4.7.5.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

220
picocli-build.xml Normal file
View File

@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8"?>
<project name="picocli" default="package" basedir=".">
<!-- ====================================================================== -->
<!-- Build environment properties -->
<!-- ====================================================================== -->
<property file="build.properties"/>
<property name="project.artifactId" value="picocli"/>
<property name="project.version" value="[UNKNOWN]"/>
<property name="compiler.source" value="8"/>
<property name="compiler.target" value="${compiler.source}"/>
<property name="build.dir" value="target"/>
<property name="build.outputDir" value="${build.dir}/classes"/>
<property name="build.srcDir" value="src/main/java"/>
<property name="build.srcDir9" value="src/main/java9"/>
<property name="build.resourceDir" value="src/main/resources"/>
<property name="reporting.outputDirectory" value="${build.dir}/site"/>
<property name="jline2.jar" location="[UNKNOWN]"/>
<!-- ====================================================================== -->
<!-- Cleaning up target -->
<!-- ====================================================================== -->
<target name="clean" description="Clean the output directory">
<delete dir="${build.dir}"/>
</target>
<!-- ====================================================================== -->
<!-- Compilation target -->
<!-- ====================================================================== -->
<target name="compile" description="Compile the code">
<mkdir dir="${build.outputDir}"/>
<!-- Build all except module-info.java with source/target 8 -->
<javac destdir="${build.outputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}"
encoding="UTF-8"
createMissingPackageInfoClass="false">
<src>
<pathelement location="${build.srcDir}"/>
</src>
</javac>
<!-- Build module-info.java with release 9 -->
<javac destdir="${build.outputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
release="9"
verbose="false"
fork="false"
encoding="UTF-8"
createMissingPackageInfoClass="false">
<src>
<pathelement location="${build.srcDir9}"/>
</src>
</javac>
<!-- Build all except module-info.java with source/target 8 -->
<mkdir dir="picocli-codegen/${build.outputDir}"/>
<javac destdir="picocli-codegen/${build.outputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}"
encoding="UTF-8"
createMissingPackageInfoClass="false">
<src>
<pathelement location="picocli-codegen/${build.srcDir}"/>
</src>
<classpath>
<pathelement location="${build.outputDir}"/>
</classpath>
</javac>
<!-- Build module-info.java with release 9 -->
<javac destdir="picocli-codegen/${build.outputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
release="9"
verbose="false"
fork="false"
encoding="UTF-8"
createMissingPackageInfoClass="false">
<src>
<pathelement location="picocli-codegen/${build.srcDir9}"/>
</src>
<include name="**/module-info.java"/>
<modulepath>
<pathelement location="${build.outputDir}"/>
</modulepath>
</javac>
<!-- Build all except module-info.java with source/target 8 -->
<mkdir dir="picocli-shell-jline2/${build.outputDir}"/>
<javac destdir="picocli-shell-jline2/${build.outputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
target="${compiler.target}"
verbose="false"
fork="false"
source="${compiler.source}"
encoding="UTF-8"
createMissingPackageInfoClass="false">
<src>
<pathelement location="picocli-shell-jline2/${build.srcDir}"/>
</src>
<classpath>
<pathelement location="${build.outputDir}"/>
<pathelement location="${jline2.jar}"/>
</classpath>
</javac>
<!-- Build module-info.java with release 9 -->
<javac destdir="picocli-shell-jline2/${build.outputDir}"
nowarn="false"
debug="true"
optimize="false"
deprecation="true"
release="9"
verbose="false"
fork="false"
encoding="UTF-8"
createMissingPackageInfoClass="false">
<src>
<pathelement location="picocli-shell-jline2/${build.srcDir9}"/>
</src>
<modulepath>
<pathelement location="${build.outputDir}"/>
<pathelement location="${jline2.jar}"/>
</modulepath>
</javac>
</target>
<!-- ====================================================================== -->
<!-- Javadoc target -->
<!-- ====================================================================== -->
<target name="javadoc" description="Generates the Javadoc of the application">
<javadoc
packagenames="*"
destdir="${reporting.outputDirectory}/apidocs"
access="protected"
verbose="false"
version="true"
use="true"
author="true"
splitindex="false"
nodeprecated="false"
nodeprecatedlist="false"
notree="false"
noindex="false"
nohelp="false"
nonavbar="false"
serialwarn="false"
encoding="UTF-8"
charset="UTF-8"
linksource="false"
breakiterator="false"
source="${compiler.source}"
>
<sourcepath>
<pathelement location="${build.srcDir}"/>
<pathelement location="picocli-codegen/${build.srcDir}"/>
</sourcepath>
<classpath>
<pathelement location="${build.outputDir}"/>
</classpath>
</javadoc>
</target>
<!-- ====================================================================== -->
<!-- Package target -->
<!-- ====================================================================== -->
<target name="package" depends="compile" description="Package the application">
<jar jarfile="${build.dir}/${project.artifactId}-${project.version}.jar"
compress="true"
index="false"
basedir="${build.outputDir}"
excludes="**/package.html"/>
<jar jarfile="${build.dir}/${project.artifactId}-codegen-${project.version}.jar"
compress="true"
index="false"
basedir="picocli-codegen/${build.outputDir}"
excludes="**/package.html">
<service type="javax.annotation.processing.Processor"
provider="picocli.codegen.aot.graalvm.processor.NativeImageConfigGeneratorProcessor"/>
</jar>
<jar jarfile="${build.dir}/${project.artifactId}-shell-jline2-${project.version}.jar"
compress="true"
index="false"
basedir="picocli-shell-jline2/${build.outputDir}"
excludes="**/package.html"/>
</target>
<!-- ====================================================================== -->
<!-- A dummy target for the package named after the type it creates -->
<!-- ====================================================================== -->
<target name="jar" depends="package" description="Builds the jar for the application"/>
</project>

39
picocli-codegen-4.7.5.pom Normal file
View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://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>info.picocli</groupId>
<artifactId>picocli-codegen</artifactId>
<version>4.7.5</version>
<name>picocli-codegen</name>
<description>Picocli Code Generation - Tools to generate documentation, configuration, source code and other files from a picocli model.</description>
<url>https://picocli.info</url>
<inceptionYear>2018</inceptionYear>
<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>
<developers>
<developer>
<id>rpopma</id>
<name>Remko Popma</name>
<email>rpopma@apache.org</email>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/remkop/picocli.git</connection>
<developerConnection>scm:git:ssh://github.com:remkop/picocli.git</developerConnection>
<url>https://github.com/remkop/picocli/tree/master</url>
</scm>
<dependencies>
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
<version>4.7.5</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://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>info.picocli</groupId>
<artifactId>picocli-shell-jline2</artifactId>
<version>4.7.5</version>
<name>picocli-shell-jline2</name>
<description>Picocli Shell JLine2 - easily build interactive shell applications with JLine 2 and picocli.</description>
<url>https://picocli.info</url>
<inceptionYear>2018</inceptionYear>
<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>
<developers>
<developer>
<id>rpopma</id>
<name>Remko Popma</name>
<email>rpopma@apache.org</email>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/remkop/picocli.git</connection>
<developerConnection>scm:git:ssh://github.com:remkop/picocli.git</developerConnection>
<url>https://github.com/remkop/picocli/tree/master</url>
</scm>
<dependencies>
<dependency>
<groupId>info.picocli</groupId>
<artifactId>picocli</artifactId>
<version>4.7.5</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>2.14.6</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>

97
picocli.changes Normal file
View File

@ -0,0 +1,97 @@
-------------------------------------------------------------------
Sun Sep 10 10:27:31 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Reproducible builds: Do not create timestamps with bnd wrap
-------------------------------------------------------------------
Sun Aug 27 06:46:38 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Update to version 4.7.5
* Enhancements:
+ Java 22 update: improve logic for detecting if the output
stream is connected to a terminal.
+ Mask parameters in trace log when echo=false for interactive
options and positional parameters.
* Bugfixes:
+ Fix positional parameters bug with late-resolved arity
variable.
+ Don't generate auto-complete for hidden attributes in
picocli.shell.jline3.PicoCommand.
+ ArgGroup with exclusive=false and multiplicity=1 should
require at least one option; fix regression and refine
solution introduced in [#1848][#2030].
* DOC fixes:
+ Improve GraalVM documentation: add
graalvm-native-image-plugin.
+ Commit html files with LF line-endings.
- Removed patch:
* revert-version.patch
+ not needed any more
-------------------------------------------------------------------
Sat Aug 26 05:11:45 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Fetch sources from upstream repository, since our pull request
https://github.com/remkop/picocli/pull/2045 has been integrated
-------------------------------------------------------------------
Tue Jun 13 12:49:00 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Update to version 4.7.4
* Fixes:
+ API: Add setter for name in
picocli.shell.jline3.PicocliCommands.
+ Enhancement: Improved feedback on mistyped subcommands
+ Enhancement: prevent
java.nio.charset.UnsupportedCharsetException: cp0 on windows,
and fall back to the default charset if the charset provided
by System property sun.stdout.encoding is invalid
+ Bugfix: Option "mapFallbackValue" ignored when inherited to
subcommand
+ Bugfix: fix issue with required options in ArgGroup becoming
optional when combined with DefaultValueProvider
- Fetch sources using source service: this allows filter out
binaries with spurious legal status and which we don't use for
build
- Due to a bug in the upstream github repository, fetch sources from
our private fork until https://github.com/remkop/picocli/pull/2045
gets integrated upstream
- Added patch:
* revert-version.patch
+ revert a version change between our fixed code and the
upstream tag
-------------------------------------------------------------------
Mon Jun 5 17:59:16 UTC 2023 - Fridrich Strba <fstrba@suse.com>
- Require java 9 for build so that we can build the module-info.java
always
- Build all classes with source/target 8 and the module-info.java
with release 9, which makes the jars usable with java 8 and higher
-------------------------------------------------------------------
Thu Jun 1 11:46:11 UTC 2023 - Anton Shvetz <shvetz.anton@gmail.com>
- Upgrade to version 4.7.3
* full changes from previous versions are in
https://github.com/remkop/picocli/blob/v4.7.3/RELEASE-NOTES.md
- Package artifacts: picocli-{codegen,shell-jline2}
- JPMS: package module discriptors when building with java >= 9
- Take POMs from Maven Central
-------------------------------------------------------------------
Fri Jun 24 09:48:56 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Build picocli using ant to avoid cycles
-------------------------------------------------------------------
Tue Jan 18 08:15:11 UTC 2022 - Fridrich Strba <fstrba@suse.com>
- Upgrade to version 4.6.2
* full changes from previous versions are in
https://github.com/remkop/picocli/blob/v4.6.2/RELEASE-NOTES.md
-------------------------------------------------------------------
Fri Nov 8 09:48:24 UTC 2019 - Fridrich Strba <fstrba@suse.com>
- Initial packaging of picocli 4.0.4

132
picocli.spec Normal file
View File

@ -0,0 +1,132 @@
#
# spec file for package picocli
#
# Copyright (c) 2023 SUSE LLC
#
# 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/
#
Name: picocli
Version: 4.7.5
Release: 0
Summary: Tiny Command Line Interface
License: Apache-2.0
Group: Development/Libraries/Java
URL: https://picocli.info/
Source0: %{name}-%{version}.tar.xz
Source1: %{name}-build.xml
Source2: https://repo1.maven.org/maven2/info/%{name}/%{name}/%{version}/%{name}-%{version}.pom
Source3: https://repo1.maven.org/maven2/info/%{name}/%{name}-codegen/%{version}/%{name}-codegen-%{version}.pom
Source4: https://repo1.maven.org/maven2/info/%{name}/%{name}-shell-jline2/%{version}/%{name}-shell-jline2-%{version}.pom
BuildRequires: ant
BuildRequires: aqute-bnd
BuildRequires: fdupes
BuildRequires: java-devel >= 9
BuildRequires: javapackages-local
BuildRequires: jline >= 2
BuildArch: noarch
%description
Java command line parser with both an annotations API and a programmatic API.
Usage help with ANSI styles and colors. Autocomplete. Nested subcommands.
Easily included as source to avoid adding a dependency.
%package codegen
Summary: Picocli Code Generation
Group: Development/Libraries/Java
%description codegen
Java command line parser with both an annotations API and a programmatic API.
Usage help with ANSI styles and colors. Autocomplete. Nested subcommands.
Easily included as source to avoid adding a dependency.
Tools to generate documentation, configuration, source code and other files
from a picocli model.
%package shell-jline2
Summary: Picocli Shell JLine2
Group: Development/Libraries/Java
%description shell-jline2
Java command line parser with both an annotations API and a programmatic API.
Usage help with ANSI styles and colors. Autocomplete. Nested subcommands.
Easily included as source to avoid adding a dependency.
Library to build interactive shell applications with JLine 2 and picocli.
%package javadoc
Summary: Javadoc for %{name}
Group: Documentation/HTML
%description javadoc
This package contains the API documentation for %{name}.
%prep
%setup -q
cp %{SOURCE1} build.xml
%build
%{ant} \
-Dproject.version=%{version} \
-Djline2.jar=$(find-jar jline/jline) \
jar javadoc
echo "-reproducible: true" >> bnd.bnd
echo "-noextraheaders: true" >> bnd.bnd
echo "-snapshot: SNAPSHOT" >> bnd.bnd
# Convert to OSGi bundle
bnd wrap \
--force \
--bsn %{name} \
--version %{version} \
--output target/%{name}-%{version}.bar \
--properties bnd.bnd \
target/%{name}-%{version}.jar
mv target/%{name}-%{version}.bar target/%{name}-%{version}.jar
%install
#jar
install -dm0755 %{buildroot}%{_javadir}/%{name}
install -pm0644 target/%{name}-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}.jar
install -pm0644 target/%{name}-codegen-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-codegen.jar
install -pm0644 target/%{name}-shell-jline2-%{version}.jar %{buildroot}%{_javadir}/%{name}/%{name}-shell-jline2.jar
#pom
install -dm0755 %{buildroot}%{_mavenpomdir}/%{name}
install -pm0644 %{SOURCE2} %{buildroot}%{_mavenpomdir}/%{name}/%{name}.pom
install -pm0644 %{SOURCE3} %{buildroot}%{_mavenpomdir}/%{name}/%{name}-codegen.pom
install -pm0644 %{SOURCE4} %{buildroot}%{_mavenpomdir}/%{name}/%{name}-shell-jline2.pom
%add_maven_depmap %{name}/%{name}.pom %{name}/%{name}.jar
%add_maven_depmap %{name}/%{name}-codegen.pom %{name}/%{name}-codegen.jar -f codegen
%add_maven_depmap %{name}/%{name}-shell-jline2.pom %{name}/%{name}-shell-jline2.jar -f shell-jline2
#javadoc
install -dm0755 %{buildroot}%{_javadocdir}/%{name}
cp -r target/site/apidocs/* %{buildroot}%{_javadocdir}/%{name}/
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles
%license LICENSE
%doc README.md
%files codegen -f .mfiles-codegen
%files shell-jline2 -f .mfiles-shell-jline2
%files javadoc
%{_javadocdir}/%{name}
%license LICENSE
%changelog