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:[email protected]]
Gesendet: Mittwoch, 26. September 2012 19:19
An: [email protected]
Betreff: Re: Flex Maven FDK Generator RC1
On Wednesday, September 26, 2012, [email protected] 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
[email protected]
Apache Flex PPMC