Sorry to interject, but isn¹t the unpack goal of the maven-assembly-plugin
deprecated?  The documentation actually refers users to the MDP¹s unpack
capabilities: 
https://maven.apache.org/plugins/maven-assembly-plugin/plugin-info.html

That page is dated from 2012, so I¹m not sure if something has changed
since it was last published.



On 7/22/14, 8:08 AM, "William Ferguson" <[email protected]>
wrote:

>MDP = maven-dependency-plugin
>
>@domi yes you would normally use something like the maven-assembly-plugin
>to disassemble (unpack) an archive.
>
>
>On Wed, Jul 23, 2014 at 12:49 AM, domi <[email protected]> wrote:
>
>> I think to recall a thread on the dev list about plans to remove the
>> unpack goal from the dependency plugin, but I can¹t find it anymoreŠ
>> regards Domi
>>
>> On 22.07.2014, at 16:29, William Ferguson
>><[email protected]>
>> wrote:
>>
>> > I totally agree that it makes sense for the dependency plugin to
>>unpack
>> the
>> > AAR just like all other archives.
>> >
>> > I just don't understand why you need the MDP to do so.
>> >
>> >
>> > On Tue, Jul 22, 2014 at 10:58 PM, David Hoffer <[email protected]>
>> wrote:
>> >
>> >> No that was just an example so I could create a sample project.
>>Don't
>> read
>> >> too much into this.  They are just AAR dependencies (in my case they
>> come
>> >> from our build not public).  The maven dependency plugin should
>>handle
>> >> these no different than it handles jars/etc.
>> >>
>> >>
>> >>
>> >>
>> >> On Mon, Jul 21, 2014 at 11:32 PM, William Ferguson <
>> >> [email protected]> wrote:
>> >>
>> >>> So an Android library is packaging WSDL inside itself and is
>>expecting
>> >> you
>> >>> to use it at build time?
>> >>>
>> >>>
>> >>> On Tue, Jul 22, 2014 at 8:53 AM, Martin Gainty <[email protected]>
>> >>> wrote:
>> >>>
>> >>>> Here is an aar straight from Axis version example:
>> >>>>
>> >>>> //layout of version.aar:
>> >>>>
>> >>>>   created: META-INF/
>> >>>>  inflated: META-INF/MANIFEST.MF
>> >>>>   created: sample/
>> >>>>   created: sample/axisversion/
>> >>>>  inflated: sample/axisversion/Version.class
>> >>>>  inflated: META-INF/services.xml
>> >>>>
>> >>>>
>> >>>> //org.apache.axis2.deployment.DeploymentEngine axis code used to
>> >>>> populateService with .aar contents:
>> >>>>
>> >>>>    protected ArrayList populateService(AxisServiceGroup
>>serviceGroup,
>> >>>>                                        URL servicesURL,
>> >>>>                                        String serviceName) throws
>> >>>> DeploymentException {
>> >>>>        try {
>> >>>>            serviceGroup.setServiceGroupName(serviceName);
>> >>>>            ClassLoader serviceClassLoader =
>>Utils.createClassLoader(
>> >>>>                    new URL[]{servicesURL},
>> >>>>                    axisConfig.getServiceClassLoader(),
>> >>>>                    true,
>> >>>>                    (File)
>> >>>>
>> >>
>> 
>>axisConfig.getParameterValue(Constants.Configuration.ARTIFACTS_TEMP_DIR),
>> >>>>                    axisConfig.isChildFirstClassLoading());
>> >>>>            String metainf = "meta-inf";
>> >>>>
>> >> serviceGroup.setServiceGroupClassLoader(serviceClassLoader);
>> >>>>            //processing wsdl.list
>> >>>>            InputStream wsdlfilesStream =
>> >>>>
>> >>>> serviceClassLoader.getResourceAsStream("meta-inf/wsdl.list");
>> >>>>            if (wsdlfilesStream == null) {
>> >>>>                wsdlfilesStream =
>> >>>> serviceClassLoader.getResourceAsStream("META-INF/wsdl.list");
>> >>>>                if (wsdlfilesStream != null) {
>> >>>>                    metainf = "META-INF";
>> >>>>                }
>> >>>>            }
>> >>>>            HashMap servicesMap = new HashMap();
>> >>>>            if (wsdlfilesStream != null) {
>> >>>>                ArchiveReader reader = new ArchiveReader();
>> >>>>                BufferedReader input = new BufferedReader(new
>> >>>> InputStreamReader(wsdlfilesStream));
>> >>>>                String line;
>> >>>>                while ((line = input.readLine()) != null) {
>> >>>>                    line = line.trim();
>> >>>>                    if (line.length() > 0 && line.charAt(0) != '#')
>>{
>> >>>>                        line = metainf + "/" + line;
>> >>>>                        try {
>> >>>>                            List services =
>> >>> reader.getAxisServiceFromWsdl(
>> >>>>
>> >>>> serviceClassLoader.getResourceAsStream(line),
>> >>>>                                    serviceClassLoader, line);
>> >>>>                            if (services != null) {
>> >>>>                                for (Object service : services) {
>> >>>>                                    AxisService axisService =
>> >>>> (AxisService) service;
>> >>>>
>> >>> servicesMap.put(axisService.getName(),
>> >>>> axisService);
>> >>>>                                }
>> >>>>                            }
>> >>>>
>> >>>>                        } catch (Exception e) {
>> >>>>                            throw new DeploymentException(e);
>> >>>>                        }
>> >>>>                    }
>> >>>>                }
>> >>>>            }
>> >>>>            InputStream servicexmlStream =
>> >>>>
>> >>>> serviceClassLoader.getResourceAsStream("META-INF/services.xml");
>> >>>>            if (servicexmlStream == null) {
>> >>>>                servicexmlStream =
>> >>>> serviceClassLoader.getResourceAsStream("meta-inf/services.xml");
>> >>>>            } else {
>> >>>>                metainf = "META-INF";
>> >>>>            }
>> >>>>            if (servicexmlStream == null) {
>> >>>>                throw new DeploymentException(
>> >>>>
>> >>>> Messages.getMessage(DeploymentErrorMsgs.SERVICE_XML_NOT_FOUND,
>> >>>>                                servicesURL.toString()));
>> >>>>            }
>> >>>>            DescriptionBuilder builder = new
>> >>>> DescriptionBuilder(servicexmlStream, configContext);
>> >>>>            OMElement rootElement = builder.buildOM();
>> >>>>            String elementName = rootElement.getLocalName();
>> >>>>
>> >>>>            if (TAG_SERVICE.equals(elementName)) {
>> >>>>                AxisService axisService = null;
>> >>>>                String wsdlLocation = "META-INF/service.wsdl";
>> >>>>                InputStream wsdlStream =
>> >>>>
>> >>>> serviceClassLoader.getResourceAsStream(wsdlLocation);
>> >>>>                URL wsdlURL =
>>serviceClassLoader.getResource(metainf +
>> >>>> "/service.wsdl");
>> >>>>                if (wsdlStream == null) {
>> >>>>                    wsdlLocation = "META-INF/" + serviceName +
>>".wsdl";
>> >>>>                    wsdlStream = serviceClassLoader
>> >>>>                            .getResourceAsStream(wsdlLocation);
>> >>>>                    wsdlURL =
>> >>> serviceClassLoader.getResource(wsdlLocation);
>> >>>>                }
>> >>>>                if (wsdlStream != null) {
>> >>>>                    WSDL11ToAxisServiceBuilder
>>wsdl2AxisServiceBuilder
>> >> =
>> >>>>                            new
>>WSDL11ToAxisServiceBuilder(wsdlStream,
>> >>>> null, null);
>> >>>>                    File file = Utils.toFile(servicesURL);
>> >>>>                    if (file != null && file.exists()) {
>> >>>>            
>>wsdl2AxisServiceBuilder.setCustomWSDLResolver(
>> >>>>                                new
>>AARBasedWSDLLocator(wsdlLocation,
>> >>>> file, wsdlStream));
>> >>>>                        wsdl2AxisServiceBuilder.setCustomResolver(
>> >>>>                                new AARFileBasedURIResolver(file));
>> >>>>                    }
>> >>>>                    if (wsdlURL != null) {
>> >>>>
>> >>>> wsdl2AxisServiceBuilder.setDocumentBaseUri(wsdlURL.toString());
>> >>>>                    }
>> >>>>                    axisService =
>> >>>> wsdl2AxisServiceBuilder.populateService();
>> >>>>                    axisService.setWsdlFound(true);
>> >>>>                    axisService.setCustomWsdl(true);
>> >>>>                    axisService.setName(serviceName);
>> >>>>                }
>> >>>>                if (axisService == null) {
>> >>>>                    axisService = new AxisService(serviceName);
>> >>>>                }
>> >>>>
>> >>>>                axisService.setParent(serviceGroup);
>> >>>>                axisService.setClassLoader(serviceClassLoader);
>> >>>>
>> >>>>                ServiceBuilder serviceBuilder = new
>> >>>> ServiceBuilder(configContext, axisService);
>> >>>>                AxisService service =
>> >>>> serviceBuilder.populateService(rootElement);
>> >>>>
>> >>>>                ArrayList serviceList = new ArrayList();
>> >>>>                serviceList.add(service);
>> >>>>                return serviceList;
>> >>>>            } else if (TAG_SERVICE_GROUP.equals(elementName)) {
>> >>>>                ServiceGroupBuilder groupBuilder = new
>> >>>> ServiceGroupBuilder(rootElement, servicesMap,
>> >>>>                        configContext);
>> >>>>                ArrayList servicList =
>> >>>> groupBuilder.populateServiceGroup(serviceGroup);
>> >>>>                Iterator serviceIterator = servicList.iterator();
>> >>>>                while (serviceIterator.hasNext()) {
>> >>>>                    AxisService axisService = (AxisService)
>> >>>> serviceIterator.next();
>> >>>>                    String wsdlLocation = "META-INF/service.wsdl";
>> >>>>                    InputStream wsdlStream =
>> >>>>
>> >>>> serviceClassLoader.getResourceAsStream(wsdlLocation);
>> >>>>                    URL wsdlURL =
>> >>>> serviceClassLoader.getResource(wsdlLocation);
>> >>>>                    if (wsdlStream == null) {
>> >>>>                        wsdlLocation = "META-INF/" + serviceName +
>> >>> ".wsdl";
>> >>>>                        wsdlStream = serviceClassLoader
>> >>>>                                .getResourceAsStream(wsdlLocation);
>> >>>>                        wsdlURL =
>> >>>>
>> >>>> serviceClassLoader.getResource(wsdlLocation);
>> >>>>                    }
>> >>>>                    if (wsdlStream != null) {
>> >>>>                        WSDL11ToAxisServiceBuilder
>> >>> wsdl2AxisServiceBuilder
>> >>>> =
>> >>>>                                new
>> >>> WSDL11ToAxisServiceBuilder(wsdlStream,
>> >>>> axisService);
>> >>>>                        File file = Utils.toFile(servicesURL);
>> >>>>                        if (file != null && file.exists()) {
>> >>>>
>> >>> wsdl2AxisServiceBuilder.setCustomWSDLResolver(
>> >>>>                                    new
>> >> AARBasedWSDLLocator(wsdlLocation,
>> >>>> file, wsdlStream));
>> >>>>            
>>wsdl2AxisServiceBuilder.setCustomResolver(
>> >>>>                                    new
>>AARFileBasedURIResolver(file));
>> >>>>                        }
>> >>>>                        if (wsdlURL != null) {
>> >>>>
>> >>>> wsdl2AxisServiceBuilder.setDocumentBaseUri(wsdlURL.toString());
>> >>>>                        }
>> >>>>                        axisService =
>> >>>> wsdl2AxisServiceBuilder.populateService();
>> >>>>                        axisService.setWsdlFound(true);
>> >>>>                        axisService.setCustomWsdl(true);
>> >>>>                        // Set the default message receiver for the
>> >>>> operations that were
>> >>>>                        // not listed in the services.xml
>> >>>>                        Iterator operations =
>> >>> axisService.getOperations();
>> >>>>                        while (operations.hasNext()) {
>> >>>>                            AxisOperation operation =
>>(AxisOperation)
>> >>>> operations.next();
>> >>>>                            if (operation.getMessageReceiver() ==
>> >> null) {
>> >>>>
>> >>>> operation.setMessageReceiver(loadDefaultMessageReceiver(
>> >>>>
>> >>>> operation.getMessageExchangePattern(), axisService));
>> >>>>                            }
>> >>>>                        }
>> >>>>                    }
>> >>>>                }
>> >>>>                return servicList;
>> >>>>            }
>> >>>>        } catch (IOException e) {
>> >>>>            throw new DeploymentException(e);
>> >>>>        } catch (XMLStreamException e) {
>> >>>>            throw new DeploymentException(e);
>> >>>>        }
>> >>>>        return null;
>> >>>>    }
>> >>>>
>> >>>> does this answer your question?
>> >>>> Martin
>> >>>> ______________
>> >>>>
>> >>>>
>> >>>>> Date: Tue, 22 Jul 2014 07:56:55 +1000
>> >>>>> Subject: Re: maven-dependency-plugin unpacking aar format?
>> >>>>> From: [email protected]
>> >>>>> To: [email protected]
>> >>>>>
>> >>>>> David, what the use case for unpacking the AAR?
>> >>>>>
>> >>>>>
>> >>>>> William
>> >>>>>
>> >>>>>
>> >>>>> On Tue, Jul 22, 2014 at 7:27 AM, David Hoffer <[email protected]>
>> >>>> wrote:
>> >>>>>
>> >>>>>> Here is a simplified project showing my use-case, I hope this
>> >> helps.
>> >>>> Note
>> >>>>>> I'm using unpack-dependencies as the aar is a module in the same
>> >>>> project;
>> >>>>>> however I assume the same problem exists with unpack, if that's
>>the
>> >>>> case
>> >>>>>> that would make the test project even simpler.
>> >>>>>>
>> >>>>>> <?xml version="1.0" encoding="UTF-8"?>
>> >>>>>>
>> >>>>>> <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/xsd/maven-4.0.0.xsd";>
>> >>>>>>
>> >>>>>>    <modelVersion>4.0.0</modelVersion>
>> >>>>>>
>> >>>>>>    <groupId>com.company.project</groupId>
>> >>>>>>    <artifactId>service</artifactId>
>> >>>>>>    <version>1.0-SNAPSHOT</version>
>> >>>>>>
>> >>>>>>    <packaging>pom</packaging>
>> >>>>>>
>> >>>>>>    <dependencies>
>> >>>>>>        <!--note: maven-dependency-plug fails reporting that aar
>>is
>> >>> not
>> >>>>>> supported-->
>> >>>>>>        <dependency>
>> >>>>>>            <groupId>com.company.project</groupId>
>> >>>>>>            <artifactId>axis-service</artifactId>
>> >>>>>>            <type>aar</type>
>> >>>>>>            <version>1.0-SNAPSHOT</version>
>> >>>>>>        </dependency>
>> >>>>>>        <!--note: I assume it will have the same problem unpacking
>> >> a
>> >>>> public
>> >>>>>> artifact such as this-->
>> >>>>>>        <dependency>
>> >>>>>>            <groupId>com.helpshift</groupId>
>> >>>>>>            <artifactId>android-aar</artifactId>
>> >>>>>>            <version>3.4.2</version>
>> >>>>>>            <type>aar</type>
>> >>>>>>        </dependency>
>> >>>>>>    </dependencies>
>> >>>>>>
>> >>>>>>    <build>
>> >>>>>>        <plugins>
>> >>>>>>            <plugin>
>> >>>>>>                <groupId>org.apache.maven.plugins</groupId>
>> >>>>>>                <artifactId>maven-dependency-plugin</artifactId>
>> >>>>>>                <executions>
>> >>>>>>                    <execution>
>> >>>>>>                        <id>unpack-axis-service</id>
>> >>>>>>                        <phase>generate-resources</phase>
>> >>>>>>                        <goals>
>> >>>>>>                            <goal>unpack-dependencies</goal>
>> >>>>>>                        </goals>
>> >>>>>>                        <configuration>
>> >>>>>>
>> >>>>>> <includeArtifactIds>axis-service</includeArtifactIds>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>
>> >>>
>> >>
>> 
>><outputDirectory>${project.build.directory}/generated-resources/axis</out
>>putDirectory>
>> >>>>>>
>> >>> <overWriteReleases>true</overWriteReleases>
>> >>>>>>
>> >>>> <overWriteSnapshots>true</overWriteSnapshots>
>> >>>>>>
>> >>>>>> <includes>META-INF/*.wsdl,META-INF/schema/**/*.xsd</includes>
>> >>>>>>                        </configuration>
>> >>>>>>                    </execution>
>> >>>>>>                </executions>
>> >>>>>>            </plugin>
>> >>>>>>        </plugins>
>> >>>>>>    </build>
>> >>>>>>
>> >>>>>> </project>
>> >>>>>>
>> >>>>>>
>> >>>>>>
>> >>>>>> On Mon, Jul 21, 2014 at 3:05 PM, Karl Heinz Marbaise <
>> >>>> [email protected]>
>> >>>>>> wrote:
>> >>>>>>
>> >>>>>>> HI David,
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>> I'm getting the following error trying to unpack some files
>> >> from
>> >>> an
>> >>>>>> aar.
>> >>>>>>>
>> >>>>>>>>  Is this not supported?  Is there any way to do this?
>> >>>>>>>>
>> >>>>>>>> Failed to execute goal
>> >>>>>>>>
>> >>>>
>> >> 
>>org.apache.maven.plugins:maven-dependency-plugin:2.8:unpack-dependencies
>> >>>>>>>> (unpack-service) on project service: Unknown archiver type: No
>> >>> such
>> >>>>>>>> archiver: 'aar'. -> [Help 1]
>> >>>>>>>>
>> >>>>>>>
>> >>>>>>> Could you please prepare a example project which reproduces the
>> >>>>>>> problem..so i can create a JIRA issue for this...
>> >>>>>>>
>> >>>>>>> Kind regards
>> >>>>>>> Karl-Heinz Marbaise
>> >>>>>>>
>> >>>>>>>
>> >>> 
>>---------------------------------------------------------------------
>> >>>>>>> To unsubscribe, e-mail: [email protected]
>> >>>>>>> For additional commands, e-mail: [email protected]
>> >>>>>>>
>> >>>>>>>
>> >>>>>>
>> >>>>
>> >>>>
>> >>>
>> >>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to