diff --git a/plexus-metadata-generator-cli.patch b/plexus-metadata-generator-cli.patch new file mode 100644 index 0000000..e471bcd --- /dev/null +++ b/plexus-metadata-generator-cli.patch @@ -0,0 +1,66 @@ +diff -urEbwBN plexus-containers-plexus-containers-2.1.0/plexus-component-metadata/src/main/java/org/codehaus/plexus/metadata/PlexusMetadataGeneratorCli.java plexus-containers-plexus-containers-2.1.0.new/plexus-component-metadata/src/main/java/org/codehaus/plexus/metadata/PlexusMetadataGeneratorCli.java +--- plexus-containers-plexus-containers-2.1.0/plexus-component-metadata/src/main/java/org/codehaus/plexus/metadata/PlexusMetadataGeneratorCli.java 1970-01-01 01:00:00.000000000 +0100 ++++ plexus-containers-plexus-containers-2.1.0.new/plexus-component-metadata/src/main/java/org/codehaus/plexus/metadata/PlexusMetadataGeneratorCli.java 2019-11-22 04:47:34.934070355 +0100 +@@ -0,0 +1,62 @@ ++package org.codehaus.plexus.metadata; ++ ++import java.io.File; ++import java.util.Arrays; ++import java.util.Collections; ++ ++import org.apache.commons.cli.CommandLine; ++import org.apache.commons.cli.OptionBuilder; ++import org.apache.commons.cli.Options; ++import org.codehaus.plexus.PlexusContainer; ++import org.codehaus.plexus.tools.cli.AbstractCli; ++ ++public class PlexusMetadataGeneratorCli ++ extends AbstractCli ++{ ++ public static final char SOURCE_DIRECTORY = 's'; ++ public static final char SOURCE_ENCODING = 'e'; ++ public static final char CLASSES_DIRECTORY = 'c'; ++ public static final char OUTPUT_FILE = 'o'; ++ public static final char DESCRIPTORS_DIRECTORY = 'm'; ++ ++ public static void main( String[] args ) ++ throws Exception ++ { ++ new PlexusMetadataGeneratorCli().execute( args ); ++ } ++ ++ @Override ++ public String getPomPropertiesPath() ++ { ++ return "META-INF/maven/org.codehaus.plexus/plexus-metadata-generator/pom.properties"; ++ } ++ ++ @Override ++ @SuppressWarnings("static-access") ++ public Options buildCliOptions( Options options ) ++ { ++ options.addOption( OptionBuilder.withLongOpt( "source" ).hasArg().withDescription( "Source directory." ).create( SOURCE_DIRECTORY ) ); ++ options.addOption( OptionBuilder.withLongOpt( "encoding" ).hasArg().withDescription( "Source file encoding." ).create( SOURCE_ENCODING ) ); ++ options.addOption( OptionBuilder.withLongOpt( "classes" ).hasArg().withDescription( "Classes directory." ).create( CLASSES_DIRECTORY ) ); ++ options.addOption( OptionBuilder.withLongOpt( "output" ).hasArg().withDescription( "Output directory." ).create( OUTPUT_FILE ) ); ++ options.addOption( OptionBuilder.withLongOpt( "descriptors" ).hasArg().withDescription( "Descriptors directory." ).create( DESCRIPTORS_DIRECTORY ) ); ++ return options; ++ } ++ ++ public void invokePlexusComponent( CommandLine cli, PlexusContainer plexus ) ++ throws Exception ++ { ++ MetadataGenerator metadataGenerator = plexus.lookup( MetadataGenerator.class ); ++ ++ MetadataGenerationRequest request = new MetadataGenerationRequest(); ++ request.classesDirectory = new File( cli.getOptionValue( CLASSES_DIRECTORY ) ); ++ request.classpath = Collections.emptyList(); ++ request.sourceDirectories = Arrays.asList( new String[]{ new File( cli.getOptionValue( SOURCE_DIRECTORY ) ).getAbsolutePath() } ); ++ request.sourceEncoding = cli.getOptionValue( SOURCE_ENCODING ); ++ request.useContextClassLoader = true; ++ request.outputFile = new File( cli.getOptionValue( OUTPUT_FILE ) ); ++ request.componentDescriptorDirectory = new File( cli.getOptionValue( DESCRIPTORS_DIRECTORY ) ); ++ ++ metadataGenerator.generateDescriptor( request ); ++ } ++} diff --git a/plexus-metadata-generator.spec b/plexus-metadata-generator.spec index a788d44..4533a0e 100644 --- a/plexus-metadata-generator.spec +++ b/plexus-metadata-generator.spec @@ -35,6 +35,7 @@ Source1: http://www.apache.org/licenses/LICENSE-2.0.txt Source2: LICENSE.MIT Source100: %{base_name}-build.tar.xz Patch0: plexus-containers-asm6.patch +Patch1: plexus-metadata-generator-cli.patch Patch1000: %{name}-nomojo.patch BuildRequires: ant BuildRequires: apache-commons-cli @@ -89,6 +90,7 @@ build-jar-repository -s lib hamcrest/core %endif %patch0 -p1 +%patch1 -p1 %patch1000 -p1