generateFrameworkConfigurationArtifact();
}
protected void generateFrameworkArtifacts(File directory, String curGroupId) throws ConverterException {
// Create the root artifact.
final MavenArtifact framework = new MavenArtifact();
framework.setGroupId(curGroupId);
framework.setArtifactId("libs".equals(directory.getName()) ? "framework" : directory.getName());
framework.setVersion(flexSdkVersion);
framework.setPackaging("pom");
final String artifactGroupId = framework.getGroupId() + "." + framework.getArtifactId();
// Create a list of all libs that should belong to the Flex SDK framework.
if(!directory.exists() || !directory.isDirectory()) {
throw new ConverterException("Framework directory does not exist.");
}
final List<File> files = new ArrayList<File>();
files.addAll(Arrays.asList(directory.listFiles(new FlexFrameworkFilter())));
// Generate artifacts for every jar in the input directories.
for(final File sourceFile : files) {
// I think the experimental_mobile.swc belongs in the "mobile" package.
if(!"libs".equals(directory.getName()) || !"experimental_mobile.swc".equals(sourceFile.getName())) {
final MavenArtifact artifact = resolveArtifact(sourceFile, artifactGroupId, flexSdkVersion);
framework.addDependency(artifact);
}
}
// Forcefully add the mx library to the rest of the framework.
if("libs".equals(directory.getName())) {
final File mxSwc = new File(directory, "mx/mx.swc");
final MavenArtifact artifact = resolveArtifact(mxSwc, artifactGroupId, flexSdkVersion);
framework.addDependency(artifact);
}
// If we are in the "mobile" directory and the paren contains an "experimental_mobile.swc" file,
// add this to the mobile package.
if("mobile".equals(directory.getName())) {
final File mobileExperimental = new File(directory.getParent(), "experimental_mobile.swc");
if(mobileExperimental.exists()) {
final MavenArtifact artifact = resolveArtifact(mobileExperimental, artifactGroupId, flexSdkVersion);
framework.addDependency(artifact);
}
}
// Write this artifact to file.
writeArtifact(framework);