In Maven you have "Artifacts" these are usually Jar-Files. When it comes to Flex there are also swc, swf and swz files. Each Artifact belongs to a "group" and possesses an "artifactId" and "version". Based upon group, id and version the directory structure where to find an Artifact is predefined.
If for example you have a look at the BlazeDS artifact for example. Here I use a version that has the groupId=com.adobe.blazeds, the artifactId=blazeds- common and the version 4.0.0.14931. So Maven knows that it will find this artifact in a directory: com/adobe/blazeds/blazeds- common /4.0.0.14931 Along with an Artifact you have a so-called pom file. Beside re-defining the groupId, artifactId and version it also provides the dependencies of that library. So if you depend on that particular library, maven knows that your project also depends on all of that artifacts dependencies. You tell your build which Artifacts you depend on: <dependency> <groupId>com.adobe.blazeds</groupId> <artifactId>blazeds-common</artifactId> <version>4.0.0.14931</version> </dependency> When you build a maven project and Maven sees that an artifact is missing from your local maven repository it starts looking for the resources online. Per default it looks to http://repo1.maven.org/maven2 which is referred to as Maven Central Repository. You can however run your own private repositories (Most companies using Maven do so) and there are other companies running public repositories (Just like Apache at: https://repository.apache.org/index.html#welcome). You can tell your Maven to look at other repositories. It will then try to download stuff from them automatically. So as soon as Maven finds the artifact somewhere it downloads the jar as well as the metadata pom. If this defines further dependencies that have not yet been downloaded, it starts downloading those and continues to do so until all dependencies have been resolved. So in general Maven artifacts are a naming and directory structure convention combined with metadata in xml files. A typical Maven project consists of Artifacts that are built by maven and are automatically deployed to your local repository as you build. You can also configure your Build to automatically upload artifacts when doing a release build or upload snapshots during normal builds. A lot of companies have their Continuous Integration Servers do this automatically. So if Flex was a Maven built project all Apache would have to do was to provide the credentials for uploading to repository.apache.org and have the build deploy the artifacts automatically. As long as Flex is not built by Maven you would have to create the directory structure and name the artifacts manually as well as create the pom files manually and then to upload them manually. This is where my Generator comes in. It takes a standard Flex SDK and does all this renaming, copying and pom-file generating automatically. Thanks to Frederic we can now even have the artifacts be uploaded automatically. I hope this explains stuff a little so you might understand what we are intending to do :-) Chris -----Ursprüngliche Nachricht----- Von: Omar Gonzalez [mailto:omarg.develo...@gmail.com] Gesendet: Mittwoch, 26. September 2012 19:19 An: flex-dev@incubator.apache.org Betreff: Re: Flex Maven FDK Generator RC1 On Wednesday, September 26, 2012, christofer.d...@c-ware.de wrote: > It was always intended to be an intermediate tool allowing the > transition to mavenized FDKs. > > Ideally Apache would start publishing FDKs directly and from then on > the Tool would be obsolete. > > But as long as this is not happening and as long as users are using > older FDKs that are not served in a Maven form, it helps migrate the > old FDKs into a form people can use. > > Chris > @c-ware.de <javascript:;>> > > For us non Maven users, can you define "Apache would start publishing FDKs directly"? What does that mean? Are you saying Apache should host some sort of Maven repository for FDKs? Does Apache already have something like that which we can use? Sorry for the ignorant questions I'm just not a Maven user and I'm curious. -omar s9tpep...@apache.org Apache Flex PPMC