File jar=(File) jars.next(); log.info("Scanning " + jar); if (archetypeArtifactManager.isFileSetArchetype(jar) || archetypeArtifactManager.isOldArchetype(jar)) { try { Archetype archetype=new Archetype(); Model pom=archetypeArtifactManager.getArchetypePom(jar); if (archetypeArtifactManager.isFileSetArchetype(jar)) { org.apache.maven.archetype.metadata.ArchetypeDescriptor descriptor=archetypeArtifactManager.getFileSetArchetypeDescriptor(jar); archetype.setDescription(descriptor.getName()); org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor descriptor=archetypeArtifactManager.getOldArchetypeDescriptor(jar); archetype.setDescription(descriptor.getId());
private void generateArchetype( ArchetypeGenerationRequest request, File archetypeFile ) throws IOException, ArchetypeException, XmlPullParserException, DocumentException { if ( archetypeArtifactManager.isFileSetArchetype( archetypeFile ) ) { processFileSetArchetype( request, archetypeFile ); } else if ( archetypeArtifactManager.isOldArchetype( archetypeFile ) ) { processOldArchetype( request, archetypeFile ); } else { throw new ArchetypeGenerationFailure( "The defined artifact is not an archetype" ); } }
if (!archetypeArtifactManager.exists(ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories)) { throw new UnknownArchetype("The desired archetype does not exist (" + ad.getGroupId() + ":" + ad.getArtifactId() + ":" + ad.getVersion() + ")"); if (archetypeArtifactManager.isFileSetArchetype(ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories)) { org.apache.maven.archetype.metadata.ArchetypeDescriptor archetypeDescriptor = archetypeArtifactManager.getFileSetArchetypeDescriptor(ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories); else if (archetypeArtifactManager.isOldArchetype(ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories)) { org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor archetypeDescriptor = archetypeArtifactManager.getOldArchetypeDescriptor(ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories);
ArchetypeDescriptor archetypeDescriptor=archetypeArtifactManager.getFileSetArchetypeDescriptor(archetypeFile); File pom=new File(outputDirectoryFile, Constants.ARCHETYPE_POM); List<String> archetypeResources=archetypeArtifactManager.getFilesetArchetypeResources(archetypeFile); ZipFile archetypeZipFile=archetypeArtifactManager.getArchetypeZipFile(archetypeFile); ClassLoader archetypeJarLoader=archetypeArtifactManager.getArchetypeJarLoader(archetypeFile);
private void generateArchetype(ArchetypeGenerationRequest request, ArtifactRepository localRepository, String basedir) throws Exception { assert request != null; if (!isArchetypeDefined(request)) { throw new ArchetypeNotDefined("The archetype is not defined"); } List<ArtifactRepository> repos=new ArrayList<ArtifactRepository>(); ArtifactRepository remoteRepo=null; if (request.getArchetypeRepository() != null) { remoteRepo=archetypeRegistryManager.createRepository(request.getArchetypeRepository(), request.getArchetypeArtifactId() + "-repo"); repos.add(remoteRepo); } if (!archetypeArtifactManager.exists(request.getArchetypeGroupId(), request.getArchetypeArtifactId(), request.getArchetypeVersion(), remoteRepo, localRepository, repos)) { throw new UnknownArchetype("The desired archetype does not exist (" + request.getArchetypeGroupId() + ":" + request.getArchetypeArtifactId() + ":" + request.getArchetypeVersion() + ")"); } if (archetypeArtifactManager.isFileSetArchetype(request.getArchetypeGroupId(), request.getArchetypeArtifactId(), request.getArchetypeVersion(), remoteRepo, localRepository, repos)) { processFileSetArchetype(request, remoteRepo, localRepository, basedir, repos); } else if (archetypeArtifactManager.isOldArchetype(request.getArchetypeGroupId(), request.getArchetypeArtifactId(), request.getArchetypeVersion(), remoteRepo, localRepository, repos)) { processOldArchetype(request, remoteRepo, localRepository, basedir, repos); } else { throw new ArchetypeGenerationFailure("The defined artifact is not an archetype"); } }
private File getArchetypeFile( ArchetypeGenerationRequest request, ArtifactRepository localRepository ) throws IOException, ArchetypeException, XmlPullParserException, DocumentException { if ( !isArchetypeDefined( request ) ) { throw new ArchetypeNotDefined( "The archetype is not defined" ); } List<ArtifactRepository> repos = new ArrayList<ArtifactRepository>(); ArtifactRepository remoteRepo = null; if ( request != null && request.getArchetypeRepository() != null ) { remoteRepo = createRepository( request.getArchetypeRepository(), request.getArchetypeArtifactId() + "-repo" ); repos.add( remoteRepo ); } if ( !archetypeArtifactManager.exists( request.getArchetypeGroupId(), request.getArchetypeArtifactId(), request.getArchetypeVersion(), remoteRepo, localRepository, repos, request.getProjectBuildingRequest() ) ) { throw new UnknownArchetype( "The desired archetype does not exist (" + request.getArchetypeGroupId() + ":" + request.getArchetypeArtifactId() + ":" + request.getArchetypeVersion() + ")" ); } File archetypeFile = archetypeArtifactManager.getArchetypeFile( request.getArchetypeGroupId(), request.getArchetypeArtifactId(), request.getArchetypeVersion(), remoteRepo, localRepository, repos, request.getProjectBuildingRequest() ); return archetypeFile; }
private void checkFileSetArchetypeFile( File jarFile ) throws UnknownArchetype { ArchetypeDescriptor archetypeDescriptor = archetypeArtifactManager.getFileSetArchetypeDescriptor( jarFile ); for ( RequiredProperty rp : archetypeDescriptor.getRequiredProperties() ) { if ( rp.getKey().contains( "." ) ) { getLog().warn( "Invalid required property name '" + rp.getKey() + "': dot character makes is unusable in Velocity template" ); } } } }
private void processOldArchetype(ArchetypeGenerationRequest request, ArtifactRepository remoteRepo, ArtifactRepository localRepository, String basedir, List<ArtifactRepository> repositories) throws UnknownArchetype, ArchetypeGenerationFailure { ArchetypeConfiguration archetypeConfiguration; org.apache.maven.archetype.old.descriptor.ArchetypeDescriptor archetypeDescriptor=archetypeArtifactManager.getOldArchetypeDescriptor(request.getArchetypeGroupId(), request .getArchetypeArtifactId(), request.getArchetypeVersion(), remoteRepo, localRepository, repositories); Map<String,String> map=new HashMap<String,String>(); map.put("basedir", basedir); map.put("package", request.getPackage()); map.put("packageName", request.getPackage()); map.put("groupId", request.getGroupId()); map.put("artifactId", request.getArtifactId()); map.put("version", request.getVersion()); oldArchetype.createArchetype(request.getArchetypeGroupId(), request.getArchetypeArtifactId(), request.getArchetypeVersion(), remoteRepo, localRepository, repositories, map); }
/** FileSetArchetype */ private void processFileSetArchetype(final ArchetypeGenerationRequest request, ArtifactRepository remoteRepo, final ArtifactRepository localRepository, final String basedir, final List<ArtifactRepository> repositories) throws Exception { // TODO: get rid of the property file usage. // Properties properties = request.getProperties(); // // properties.setProperty( Constants.ARCHETYPE_GROUP_ID, request.getArchetypeGroupId() ); // // properties.setProperty( Constants.ARCHETYPE_ARTIFACT_ID, request.getArchetypeArtifactId() // ); // // properties.setProperty( Constants.ARCHETYPE_VERSION, request.getArchetypeVersion() ); // // properties.setProperty( Constants.GROUP_ID, request.getGroupId( ) ); // // properties.setProperty( Constants.ARTIFACT_ID, request.getArtifactId( ) ); // // properties.setProperty( Constants.VERSION, request.getVersion() ); // // properties.setProperty( Constants.PACKAGE, request.getPackage( ) ); // // properties.setProperty( Constants.ARCHETYPE_POST_GENERATION_GOALS, // request.getArchetypeGoals() ); File archetypeFile=archetypeArtifactManager.getArchetypeFile(request.getArchetypeGroupId(), request.getArchetypeArtifactId(), request.getArchetypeVersion(), remoteRepo, localRepository, repositories); filesetGenerator.generateArchetype(request, archetypeFile, basedir); }
if ( !archetypeArtifactManager.exists( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories, request.getProjectBuildingRequest() ) ) if ( archetypeArtifactManager.isFileSetArchetype( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories, request.getProjectBuildingRequest() ) ) archetypeArtifactManager.getFileSetArchetypeDescriptor( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories, else if ( archetypeArtifactManager.isOldArchetype( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories, request.getProjectBuildingRequest() ) ) archetypeArtifactManager.getOldArchetypeDescriptor( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories,
archetypeArtifactManager.getFileSetArchetypeDescriptor( archetypeFile ); File pom = new File( outputDirectoryFile, Constants.ARCHETYPE_POM ); List<String> archetypeResources = archetypeArtifactManager.getFilesetArchetypeResources( archetypeFile ); ZipFile archetypeZipFile = archetypeArtifactManager.getArchetypeZipFile( archetypeFile ); ClassLoader archetypeJarLoader = archetypeArtifactManager.getArchetypeJarLoader( archetypeFile ); String postGenerationScript = archetypeArtifactManager.getPostGenerationScript( archetypeFile ); if ( postGenerationScript != null )
private void checkArchetypeFile( File jarFile ) throws MojoExecutionException { try { if ( archetypeArtifactManager.isFileSetArchetype( jarFile ) ) { checkFileSetArchetypeFile( jarFile ); } else if ( archetypeArtifactManager.isOldArchetype( jarFile ) ) { getLog().warn( "Building an Old (1.x) Archetype: consider migrating it to current 2.x Archetype." ); } else { throw new MojoExecutionException( "The current project does not build an archetype" ); } } catch ( UnknownArchetype ua ) { throw new MojoExecutionException( ua.getMessage(), ua ); } }
private void checkFileSetArchetypeFile( File jarFile ) throws UnknownArchetype { ArchetypeDescriptor archetypeDescriptor = archetypeArtifactManager.getFileSetArchetypeDescriptor( jarFile ); for ( RequiredProperty rp : archetypeDescriptor.getRequiredProperties() ) { if ( rp.getKey().contains( "." ) ) { getLog().warn( "Invalid required property name '" + rp.getKey() + "': dot character makes is unusable in Velocity template" ); } } } }
archetype = archetypeArtifactManager.getArchetypeFile( archetypeGroupId, archetypeArtifactId, archetypeVersion, archetypeRepository, localRepository, remoteRepositories );
if ( !archetypeArtifactManager.exists( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories, request.getProjectBuildingRequest() ) ) if ( archetypeArtifactManager.isFileSetArchetype( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories, request.getProjectBuildingRequest() ) ) archetypeArtifactManager.getFileSetArchetypeDescriptor( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories, else if ( archetypeArtifactManager.isOldArchetype( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories, request.getProjectBuildingRequest() ) ) archetypeArtifactManager.getOldArchetypeDescriptor( ad.getGroupId(), ad.getArtifactId(), ad.getVersion(), archetypeRepository, localRepository, repositories,
if ( archetypeArtifactManager.isFileSetArchetype( jar ) || archetypeArtifactManager.isOldArchetype( jar ) ) Model pom = archetypeArtifactManager.getArchetypePom( jar ); if ( archetypeArtifactManager.isFileSetArchetype( jar ) ) archetypeArtifactManager.getFileSetArchetypeDescriptor( jar ); archetype.setDescription( descriptor.getName() ); archetypeArtifactManager.getOldArchetypeDescriptor( jar ); archetype.setDescription( descriptor.getId() );
private void checkArchetypeFile( File jarFile ) throws MojoExecutionException { try { if ( archetypeArtifactManager.isFileSetArchetype( jarFile ) ) { checkFileSetArchetypeFile( jarFile ); } else if ( archetypeArtifactManager.isOldArchetype( jarFile ) ) { getLog().warn( "Building an Old (1.x) Archetype: consider migrating it to current 2.x Archetype." ); } else { throw new MojoExecutionException( "The current project does not build an archetype" ); } } catch ( UnknownArchetype ua ) { throw new MojoExecutionException( ua.getMessage(), ua ); } }
public void createArchetype( ArchetypeGenerationRequest request, ArtifactRepository archetypeRepository ) throws UnknownArchetype, ArchetypeNotFoundException, ArchetypeDescriptorException, ArchetypeTemplateProcessingException { // ---------------------------------------------------------------------- // Download the archetype // ---------------------------------------------------------------------- File archetypeFile = archetypeArtifactManager.getArchetypeFile( request.getArchetypeGroupId(), request.getArchetypeArtifactId(), request.getArchetypeVersion(), archetypeRepository, request.getLocalRepository(), request.getRemoteArtifactRepositories(), request.getProjectBuildingRequest() ); createArchetype( request, archetypeFile ); }