incubator-flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "christofer.dutz@c-ware.de" <christofer.d...@c-ware.de>
Subject AW: Flex Maven FDK Generator RC1
Date Wed, 26 Sep 2012 17:52:35 GMT
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.developer@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.dutz@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
s9tpepper@apache.org
Apache Flex PPMC

Mime
View raw message