/** * @param project */ private void generateReadme(Project project) { String readmeTemplate = Streams.toString(getClass().getResourceAsStream("README.asciidoc")); FileResource<?> child = project.getRoot().reify(DirectoryResource.class) .getChildOfType(FileResource.class, "README.asciidoc"); // TODO: Replace with template addon MetadataFacet metadata = project.getFacet(MetadataFacet.class); readmeTemplate = readmeTemplate.replaceAll("\\{\\{ADDON_GROUP_ID\\}\\}", metadata.getProjectGroupName()); readmeTemplate = readmeTemplate.replaceAll("\\{\\{ADDON_ARTIFACT_ID\\}\\}", metadata.getProjectName()); child.createNewFile(); child.setContents(readmeTemplate); }
String groupId = metadataFacet.getProjectGroupName(); String version = metadataFacet.getProjectVersion(); File folder = project.getRoot().reify(DirectoryResource.class).getUnderlyingResourceObject();
public static void modifyJavaClass(Project project, String className, Optional<String> packageName, JavaClassSourceDecorator decorator) { final String packageLocation = packageName.orElseGet(() -> project.getFacet(MetadataFacet.class).getProjectGroupName()); final JavaSourceFacet sourceFacet = project.getFacet(JavaSourceFacet.class); final DirectoryResource targetPackage = sourceFacet.getPackage(packageLocation); final JavaResource sbAppResource = targetPackage.getChild(className).as(JavaResource.class); if (sbAppResource.exists()) { JavaClassSource sbApp = Roaster.parse(JavaClassSource.class, sbAppResource.getResourceInputStream()); decorator.modify(sbApp); sourceFacet.saveJavaSource(sbApp); } }
String name = facet.getProjectGroupName() + ":" + facet.getProjectName(); AddonId selectedAddonId = AddonId.from(name, facet.getProjectVersion()); if (choices.contains(selectedAddonId))
String projectGroupId = metadataFacet.getProjectGroupName(); String projectVersion = metadataFacet.getProjectVersion(); File folder = project.getRoot().reify(DirectoryResource.class).getUnderlyingResourceObject();
File fileRoot = project.getRoot().reify(DirectoryResource.class).getUnderlyingResourceObject(); ArchetypeHelper archetypeHelper = new ArchetypeHelper(artifact.getResourceInputStream(), fileRoot, metadataFacet.getProjectGroupName(), metadataFacet.getProjectName(), metadataFacet.getProjectVersion()); JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class); archetypeHelper.setPackageName(facet.getBasePackage());
@Override public Result execute(UIExecutionContext context) throws Exception { UIContext uiContext = context.getUIContext(); Project project = (Project) uiContext.getAttributeMap().get(Project.class); Archetype chosenArchetype = archetype.getValue(); String coordinate = chosenArchetype.getGroupId() + ":" + chosenArchetype.getArtifactId() + ":" + chosenArchetype.getVersion(); DependencyQueryBuilder depQuery = DependencyQueryBuilder.create(coordinate); String repository = chosenArchetype.getRepository(); if (!Strings.isNullOrEmpty(repository)) { if (repository.endsWith(".xml")) { int lastRepositoryPath = repository.lastIndexOf('/'); if (lastRepositoryPath > -1) repository = repository.substring(0, lastRepositoryPath); } if (!repository.isEmpty()) { depQuery.setRepositories(new DependencyRepository("archetype", repository)); } } Dependency resolvedArtifact = dependencyResolver.resolveArtifact(depQuery); FileResource<?> artifact = resolvedArtifact.getArtifact(); MetadataFacet metadataFacet = project.getFacet(MetadataFacet.class); File fileRoot = project.getRoot().reify(DirectoryResource.class).getUnderlyingResourceObject(); ArchetypeHelper archetypeHelper = new ArchetypeHelper(artifact.getResourceInputStream(), fileRoot, metadataFacet.getProjectGroupName(), metadataFacet.getProjectName(), metadataFacet.getProjectVersion()); JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class); archetypeHelper.setPackageName(facet.getBasePackage()); archetypeHelper.execute(); return Results.success(); }
@Override public Result execute(UIExecutionContext context) throws Exception { UIContext uiContext = context.getUIContext(); Project project = (Project) uiContext.getAttributeMap().get(Project.class); String coordinate = getArchetypeGroupId() + ":" + getArchetypeArtifactId() + ":" + getArchetypeVersion(); DependencyQueryBuilder depQuery = DependencyQueryBuilder.create(coordinate); String repository = getArchetypeRepository(); if (repository != null) { depQuery.setRepositories(new DependencyRepository("archetype", repository)); } DependencyResolver resolver = SimpleContainer .getServices(AbstractArchetypeSelectionWizardStep.class.getClassLoader(), DependencyResolver.class) .get(); Dependency resolvedArtifact = resolver.resolveArtifact(depQuery); FileResource<?> artifact = resolvedArtifact.getArtifact(); MetadataFacet metadataFacet = project.getFacet(MetadataFacet.class); File fileRoot = project.getRoot().reify(DirectoryResource.class).getUnderlyingResourceObject(); ArchetypeHelper archetypeHelper = new ArchetypeHelper(artifact.getResourceInputStream(), fileRoot, metadataFacet.getProjectGroupName(), metadataFacet.getProjectName(), metadataFacet.getProjectVersion()); JavaSourceFacet facet = project.getFacet(JavaSourceFacet.class); archetypeHelper.setPackageName(facet.getBasePackage()); archetypeHelper.execute(); return Results.success(); }