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 <d...@fortysix.ch> 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 <william.fergu...@xandar.com.au> > 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 <dhoff...@gmail.com> > 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 < > >> william.fergu...@xandar.com.au> 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 <mgai...@hotmail.com> > >>> 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: william.fergu...@xandar.com.au > >>>>> To: users@maven.apache.org > >>>>> > >>>>> David, what the use case for unpacking the AAR? > >>>>> > >>>>> > >>>>> William > >>>>> > >>>>> > >>>>> On Tue, Jul 22, 2014 at 7:27 AM, David Hoffer <dhoff...@gmail.com> > >>>> 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</outputDirectory> > >>>>>> > >>> <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 < > >>>> khmarba...@gmx.de> > >>>>>> 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: users-unsubscr...@maven.apache.org > >>>>>>> For additional commands, e-mail: users-h...@maven.apache.org > >>>>>>> > >>>>>>> > >>>>>> > >>>> > >>>> > >>> > >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org > >