List of usage examples for org.apache.maven.project MavenProject getGroupId
public String getGroupId()
From source file:npanday.assembler.impl.DefaultAssemblyInfoMarshaller.java
License:Apache License
/** * @see AssemblyInfoMarshaller#marshal(npanday.assembler.AssemblyInfo, org.apache.maven.project.MavenProject, * java.io.OutputStream)//w ww.j a va2 s . co m */ public void marshal(AssemblyInfo assemblyInfo, MavenProject mavenProject, OutputStream outputStream) throws AssemblyInfoException, IOException { StringBuffer sb = new StringBuffer(); sb.append("using System.Reflection;\r\n").append("using System.Runtime.CompilerServices;\r\n"); appendEntry(sb, "Description", assemblyInfo.getDescription()); appendEntry(sb, "Title", assemblyInfo.getTitle()); appendEntry(sb, "Company", assemblyInfo.getCompany()); appendEntry(sb, "Product", assemblyInfo.getProduct()); if (assemblyInfo.getCopyright() != null) { appendEntry(sb, "Copyright", assemblyInfo.getCopyright().replace("\"", "\\")); } appendEntry(sb, "Trademark", assemblyInfo.getTrademark()); appendEntry(sb, "Culture", assemblyInfo.getCulture()); appendEntry(sb, "Version", assemblyInfo.getVersion()); appendEntry(sb, "InformationalVersion", assemblyInfo.getInformationalVersion()); appendEntry(sb, "Configuration", assemblyInfo.getConfiguration()); appendEntry(sb, "KeyName", assemblyInfo.getKeyName()); if (assemblyInfo.getKeyFile() != null) { appendEntry(sb, "KeyFile", assemblyInfo.getKeyFile().getAbsolutePath().replace("\\", "\\\\")); } TargetFramework targetFramework = assemblyInfo.getTargetFramework(); if (targetFramework != null) { String frameworkName = targetFramework.getFrameworkName(); String frameworkDisplayName = targetFramework.getFrameworkDisplayName(); sb.append("[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute").append("(\"") .append(frameworkName).append("\""); if (frameworkDisplayName != null) { sb.append(",FrameworkDisplayName=\"").append(frameworkDisplayName).append("\""); } sb.append(")]").append("\r\n"); } boolean wroteCustomStringAttribute = false; for (Entry<String, String> e : assemblyInfo.getCustomStringAttributes().entrySet()) { if (StringUtils.isEmpty(e.getValue())) continue; sb.append(createCustomStringEntry(e.getKey(), e.getValue())); wroteCustomStringAttribute = true; } if (wroteCustomStringAttribute) { final String customClass = "\n" + // "[System.AttributeUsage(System.AttributeTargets.Assembly, AllowMultiple = true)]\n" + // "class CustomStringAttribute : System.Attribute {\n" + // " public CustomStringAttribute(string name, string value) {\n" + // " }\n" + // "}\n"; // sb.append(customClass); } FileOutputStream man = null; try { if (outputStream == null) { String src = mavenProject.getBuild().getDirectory() + "/build-sources"; String groupIdAsDir = mavenProject.getGroupId().replace(".", File.separator); File file = new File(src + "/META-INF/" + groupIdAsDir); file.mkdirs(); man = new FileOutputStream(src + "/META-INF/" + groupIdAsDir + File.separator + "AssemblyInfo." + plugin.getExtension()); outputStream = man; } outputStream.write(sb.toString().getBytes()); } catch (IOException e) { throw new AssemblyInfoException("NPANDAY-022-000: Failed to generate AssemblyInfo", e); } finally { if (man != null) { man.close(); } } }
From source file:npanday.assembler.impl.JavaAssemblyInfoMarshaller.java
License:Apache License
/** * @see AssemblyInfoMarshaller#marshal(npanday.assembler.AssemblyInfo, org.apache.maven.project.MavenProject, * java.io.OutputStream)// ww w. j ava 2 s . c o m */ public void marshal(AssemblyInfo assemblyInfo, MavenProject mavenProject, OutputStream outputStream) throws IOException { String src = mavenProject.getBasedir() + "/target/build-sources"; StringBuffer sb = new StringBuffer(); sb.append("import System.Reflection;\r\n").append("import System.Runtime.CompilerServices.*;r\n") .append(createEntry("Description", assemblyInfo.getDescription())) .append(createEntry("Title", assemblyInfo.getTitle())) .append(createEntry("Company", assemblyInfo.getCompany())) .append(createEntry("Product", assemblyInfo.getProduct())) .append(createEntry("Copyright", assemblyInfo.getCopyright().replace("\"", "\\"))) .append(createEntry("Trademark", assemblyInfo.getTrademark())) .append(createEntry("Culture", assemblyInfo.getCulture())) .append(createEntry("Version", assemblyInfo.getVersion())) .append(createEntry("Configuration", assemblyInfo.getConfiguration())); FileOutputStream man = null; try { String groupIdAsDir = mavenProject.getGroupId().replace(".", File.separator); File file = new File(src + "/META-INF/" + groupIdAsDir); file.mkdirs(); man = new FileOutputStream( src + "/META-INF/" + groupIdAsDir + File.separator + "AssemblyInfo." + plugin.getExtension()); man.write(sb.toString().getBytes()); } catch (IOException e) { throw new IOException(); } finally { if (man != null) { man.close(); } } }
From source file:npanday.assembler.impl.VBAssemblyInfoMarshaller.java
License:Apache License
/** * @see AssemblyInfoMarshaller#marshal(npanday.assembler.AssemblyInfo, org.apache.maven.project.MavenProject, * java.io.OutputStream)//from w w w . j a v a 2 s .c om */ public void marshal(AssemblyInfo assemblyInfo, MavenProject mavenProject, OutputStream outputStream) throws IOException { String src = mavenProject.getBasedir() + "/target/build-sources"; StringBuffer sb = new StringBuffer(); sb.append("Imports System.Reflection\r\n").append("Imports System.Runtime.InteropServices\r\n") .append(createEntry("Description", assemblyInfo.getDescription())) .append(createEntry("Title", assemblyInfo.getTitle())) .append(createEntry("Company", assemblyInfo.getCompany())) .append(createEntry("Product", assemblyInfo.getProduct())) .append(createEntry("Copyright", assemblyInfo.getCopyright().replace("\"", "\\"))) .append(createEntry("Trademark", assemblyInfo.getTrademark())) .append(createEntry("Culture", assemblyInfo.getCulture())) .append(createEntry("Version", assemblyInfo.getVersion())); //.append(createEntry("Configuration", assemblyInfo.getConfiguration())); FileOutputStream man = null; try { String groupIdAsDir = mavenProject.getGroupId().replace(".", File.separator); File file = new File(src + "/META-INF/" + groupIdAsDir); file.mkdirs(); man = new FileOutputStream( src + "/META-INF/" + groupIdAsDir + File.separator + "AssemblyInfo." + plugin.getExtension()); man.write(sb.toString().getBytes()); } catch (IOException e) { throw new IOException(); } finally { if (man != null) { man.close(); } } }
From source file:NPanday.Plugin.Msbuild.MsbuildMojo.java
License:Apache License
private void copyDependencies(Collection<Artifact> requiredArtifacts) throws MojoExecutionException { Map<String, MavenProject> projects = new HashMap<String, MavenProject>(); for (MavenProject p : reactorProjects) { projects.put(ArtifactUtils.versionlessKey(p.getGroupId(), p.getArtifactId()), p); }// w w w .j ava 2 s.c o m getLog().info("projects = " + projects.keySet()); for (Object artifact : requiredArtifacts) { Artifact a = (Artifact) artifact; File targetDir; String vKey = ArtifactUtils.versionlessKey(a); if (!projects.containsKey(vKey)) { String path = a.getGroupId() + "/" + a.getArtifactId() + "-" + a.getBaseVersion(); targetDir = new File(referencesDirectory, path); } else { // Likely a project reference in MSBuild. // If the other project was not built with MSBuild, make sure the artifact is present where it will look for it // Note: deliberately limited for now - will only work with reactor projects and doesn't test what are references and what are not File binDir = new File(projects.get(vKey).getBasedir(), "bin"); targetDir = new File(binDir, configuration); } File targetFile = new File(targetDir, a.getArtifactId() + "." + a.getArtifactHandler().getExtension()); getLog().info("Copying reference " + vKey + " to " + targetFile); if (!targetFile.exists()) { targetFile.getParentFile().mkdirs(); try { FileUtils.copyFile(a.getFile(), targetFile); } catch (IOException e) { throw new MojoExecutionException( "Error copying reference from the local repository to .references: " + e.getMessage(), e); } } } }
From source file:npanday.plugin.resolver.CopyDependenciesMojo.java
License:Apache License
public void execute() throws MojoExecutionException, MojoFailureException { String skipReason = ""; if (!skip) {// w w w .j a va2 s . c o m ArtifactType knownType = ArtifactType.getArtifactTypeForPackagingName(project.getPackaging()); if (knownType.equals(ArtifactType.NULL)) { skip = true; skipReason = ", because the current project (type:" + project.getPackaging() + ") is not built with NPanday"; } } if (skip) { getLog().info("NPANDAY-158-001: Mojo for copying dependencies was intentionally skipped" + skipReason); return; } SettingsUtil.applyCustomSettings(getLog(), repositoryRegistry, settingsPath); AndArtifactFilter includeFilter = new AndArtifactFilter(); OrArtifactFilter typeIncludes = new OrArtifactFilter(); typeIncludes.add(new DotnetExecutableArtifactFilter()); typeIncludes.add(new DotnetLibraryArtifactFilter()); if (includePdbs) { typeIncludes.add(new DotnetSymbolsArtifactFilter()); } includeFilter.add(typeIncludes); if (!Strings.isNullOrEmpty(includeScope)) { includeFilter.add(new ScopeArtifactFilter(includeScope)); } Set<Artifact> artifacts; try { artifacts = dependencyResolution.require(project, LocalRepositoryUtil.create(localRepository), includeFilter); } catch (ArtifactResolutionException e) { throw new MojoExecutionException( "NPANDAY-158-003: dependency resolution for scope " + includeScope + " failed!", e); } /** * Should be resolved, but then not copied */ if (!Strings.isNullOrEmpty(excludeScope)) { includeFilter.add(new InversionArtifactFilter(new ScopeArtifactFilter(excludeScope))); } if (skipReactorArtifacts) { getLog().info("NPANDAY-158-008: " + reactorProjects); includeFilter.add(new InversionArtifactFilter(new ArtifactFilter() { public boolean include(Artifact artifact) { for (MavenProject project : reactorProjects) { // we don't care about the type and the classifier here if (project.getGroupId().equals(artifact.getGroupId()) && project.getArtifactId().equals(artifact.getArtifactId()) && project.getVersion().equals(artifact.getVersion())) { return true; } } return false; } })); } for (Artifact dependency : artifacts) { if (!includeFilter.include(dependency)) { getLog().debug("NPANDAY-158-006: dependency " + dependency + " was excluded"); continue; } try { File targetFile = new File(outputDirectory, PathUtil.getPlainArtifactFileName(dependency)); if (!targetFile.exists() || targetFile.lastModified() != dependency.getFile().lastModified() || targetFile.length() != dependency.getFile().length()) { getLog().info("NPANDAY-158-004: copy " + dependency.getFile() + " to " + targetFile); FileUtils.copyFile(dependency.getFile(), targetFile); } else { getLog().debug("NPANDAY-158-007: dependency " + dependency + " is yet up to date"); } } catch (IOException ioe) { throw new MojoExecutionException("NPANDAY-158-005: Error copying dependency " + dependency, ioe); } } }
From source file:npanday.plugin.resolver.ListDependenciesMojo.java
License:Apache License
public void execute() throws MojoExecutionException, MojoFailureException { String skipReason = ""; if (skip) {/*from w ww . j av a2s . co m*/ getLog().info("NPANDAY-161-001: Mojo for listing dependencies was intentionally skipped" + skipReason); return; } SettingsUtil.applyCustomSettings(getLog(), repositoryRegistry, settingsPath); AndArtifactFilter includeFilter = new AndArtifactFilter(); if (!Strings.isNullOrEmpty(includeScope)) { includeFilter.add(new ScopeArtifactFilter(includeScope)); } Set<Artifact> artifacts; try { // TODO: Workarround. Somehow in the first run, PDBs wont be part of the result! dependencyResolution.require(project, LocalRepositoryUtil.create(localRepository), includeFilter); artifacts = dependencyResolution.require(project, LocalRepositoryUtil.create(localRepository), includeFilter); } catch (ArtifactResolutionException e) { throw new MojoExecutionException( "NPANDAY-161-003: dependency resolution for scope " + includeScope + " failed!", e); } /** * Should be resolved, but then not shown */ if (!Strings.isNullOrEmpty(excludeScope)) { includeFilter.add(new InversionArtifactFilter(new ScopeArtifactFilter(excludeScope))); } if (skipReactorArtifacts) { getLog().info("NPANDAY-161-008: " + reactorProjects); includeFilter.add(new InversionArtifactFilter(new ArtifactFilter() { public boolean include(Artifact artifact) { for (MavenProject project : reactorProjects) { // we don't care about the type and the classifier here if (project.getGroupId().equals(artifact.getGroupId()) && project.getArtifactId().equals(artifact.getArtifactId()) && project.getVersion().equals(artifact.getVersion())) { return true; } } return false; } })); } getLog().info("The following files have been resolved:"); for (Artifact dependency : artifacts) { if (!includeFilter.include(dependency)) { getLog().debug("NPANDAY-161-006: dependency " + dependency + " was excluded"); continue; } getLog().info(" " + dependency.getId() + ":" + dependency.getScope() + " -> " + dependency.getFile()); } }
From source file:org.ajax4jsf.builder.mojo.AssemblyAttachedLibraryMojo.java
License:Open Source License
public void execute() throws MojoExecutionException, MojoFailureException { if (null != reactorProjects) { getLog().info("Reactor projects"); for (Iterator iterator = reactorProjects.iterator(); iterator.hasNext();) { MavenProject reactor = (MavenProject) iterator.next(); getLog().info("Project " + reactor.getGroupId() + ":" + reactor.getArtifactId()); }/*from w ww .j av a 2s.c o m*/ } // assemblyProjects(); }
From source file:org.ajax4jsf.builder.mojo.AssemblyAttachedLibraryMojo.java
License:Open Source License
private List<MavenProject> populateReactorProjects() { List<MavenProject> projects = new ArrayList<MavenProject>(); if (reactorProjects != null && reactorProjects.size() > 1) { Iterator reactorItr = reactorProjects.iterator(); while (reactorItr.hasNext()) { MavenProject reactorProject = (MavenProject) reactorItr.next(); if (reactorProject != null && reactorProject.getParent() != null && project.getArtifactId().equals(reactorProject.getParent().getArtifactId())) { String name = reactorProject.getGroupId() + ":" + reactorProject.getArtifactId(); getLog().info("Have reactor project with name " + name); projects.add(reactorProject); }//from w ww.j a va2 s . c om } } return projects; }
From source file:org.apache.camel.maven.packaging.PackageComponentMojo.java
License:Apache License
public static void prepareComponent(Log log, MavenProject project, MavenProjectHelper projectHelper, File componentOutDir) throws MojoExecutionException { File camelMetaDir = new File(componentOutDir, "META-INF/services/org/apache/camel/"); StringBuilder buffer = new StringBuilder(); int count = 0; for (Resource r : project.getBuild().getResources()) { File f = new File(r.getDirectory()); if (!f.exists()) { f = new File(project.getBasedir(), r.getDirectory()); }// w w w. java2 s .com f = new File(f, "META-INF/services/org/apache/camel/component"); if (f.exists() && f.isDirectory()) { File[] files = f.listFiles(); if (files != null) { for (File file : files) { // skip directories as there may be a sub .resolver directory if (file.isDirectory()) { continue; } String name = file.getName(); if (name.charAt(0) != '.') { count++; if (buffer.length() > 0) { buffer.append(" "); } buffer.append(name); } } } } } if (count > 0) { Properties properties = new Properties(); String names = buffer.toString(); properties.put("components", names); properties.put("groupId", project.getGroupId()); properties.put("artifactId", project.getArtifactId()); properties.put("version", project.getVersion()); properties.put("projectName", project.getName()); if (project.getDescription() != null) { properties.put("projectDescription", project.getDescription()); } camelMetaDir.mkdirs(); File outFile = new File(camelMetaDir, "component.properties"); try { properties.store(new FileWriter(outFile), "Generated by camel-package-maven-plugin"); log.info("Generated " + outFile + " containing " + count + " Camel " + (count > 1 ? "components: " : "component: ") + names); if (projectHelper != null) { List<String> includes = new ArrayList<String>(); includes.add("**/component.properties"); projectHelper.addResource(project, componentOutDir.getPath(), includes, new ArrayList<String>()); projectHelper.attachArtifact(project, "properties", "camelComponent", outFile); } } catch (IOException e) { throw new MojoExecutionException("Failed to write properties to " + outFile + ". Reason: " + e, e); } } else { log.debug( "No META-INF/services/org/apache/camel/component directory found. Are you sure you have created a Camel component?"); } }
From source file:org.apache.camel.maven.packaging.PackageDataFormatMojo.java
License:Apache License
public static void prepareDataFormat(Log log, MavenProject project, MavenProjectHelper projectHelper, File dataFormatOutDir, File schemaOutDir) throws MojoExecutionException { File camelMetaDir = new File(dataFormatOutDir, "META-INF/services/org/apache/camel/"); Map<String, String> javaTypes = new HashMap<String, String>(); StringBuilder buffer = new StringBuilder(); int count = 0; for (Resource r : project.getBuild().getResources()) { File f = new File(r.getDirectory()); if (!f.exists()) { f = new File(project.getBasedir(), r.getDirectory()); }/*from ww w.j a va 2s . co m*/ f = new File(f, "META-INF/services/org/apache/camel/dataformat"); if (f.exists() && f.isDirectory()) { File[] files = f.listFiles(); if (files != null) { for (File file : files) { // skip directories as there may be a sub .resolver directory if (file.isDirectory()) { continue; } String name = file.getName(); if (name.charAt(0) != '.') { count++; if (buffer.length() > 0) { buffer.append(" "); } buffer.append(name); } // find out the javaType for each data format try { String text = loadText(new FileInputStream(file)); Map<String, String> map = parseAsMap(text); String javaType = map.get("class"); if (javaType != null) { javaTypes.put(name, javaType); } } catch (IOException e) { throw new MojoExecutionException("Failed to read file " + file + ". Reason: " + e, e); } } } } } // find camel-core and grab the data format model from there, and enrich this model with information from this artifact // and create json schema model file for this data format try { if (count > 0) { Artifact camelCore = findCamelCoreArtifact(project); if (camelCore != null) { File core = camelCore.getFile(); if (core != null) { URL url = new URL("file", null, core.getAbsolutePath()); URLClassLoader loader = new URLClassLoader(new URL[] { url }); for (Map.Entry<String, String> entry : javaTypes.entrySet()) { String name = entry.getKey(); String javaType = entry.getValue(); String modelName = asModelName(name); InputStream is = loader.getResourceAsStream( "org/apache/camel/model/dataformat/" + modelName + ".json"); if (is == null) { // use file input stream if we build camel-core itself, and thus do not have a JAR which can be loaded by URLClassLoader is = new FileInputStream( new File(core, "org/apache/camel/model/dataformat/" + modelName + ".json")); } String json = loadText(is); if (json != null) { DataFormatModel dataFormatModel = new DataFormatModel(); dataFormatModel.setName(name); dataFormatModel.setTitle(""); dataFormatModel.setModelName(modelName); dataFormatModel.setLabel(""); dataFormatModel.setDescription(project.getDescription()); dataFormatModel.setJavaType(javaType); dataFormatModel.setGroupId(project.getGroupId()); dataFormatModel.setArtifactId(project.getArtifactId()); dataFormatModel.setVersion(project.getVersion()); List<Map<String, String>> rows = JSonSchemaHelper.parseJsonSchema("model", json, false); for (Map<String, String> row : rows) { if (row.containsKey("title")) { String title = row.get("title"); dataFormatModel.setTitle(asModelTitle(name, title)); } if (row.containsKey("label")) { dataFormatModel.setLabel(row.get("label")); } if (row.containsKey("javaType")) { dataFormatModel.setModelJavaType(row.get("javaType")); } // override description for camel-core, as otherwise its too generic if ("camel-core".equals(project.getArtifactId())) { if (row.containsKey("description")) { dataFormatModel.setLabel(row.get("description")); } } } log.debug("Model " + dataFormatModel); // build json schema for the data format String properties = after(json, " \"properties\": {"); String schema = createParameterJsonSchema(dataFormatModel, properties); log.debug("JSon schema\n" + schema); // write this to the directory File dir = new File(schemaOutDir, schemaSubDirectory(dataFormatModel.getJavaType())); dir.mkdirs(); File out = new File(dir, name + ".json"); FileOutputStream fos = new FileOutputStream(out, false); fos.write(schema.getBytes()); fos.close(); log.debug("Generated " + out + " containing JSon schema for " + name + " data format"); } } } } } } catch (Exception e) { throw new MojoExecutionException("Error loading dataformat model from camel-core. Reason: " + e, e); } if (count > 0) { Properties properties = new Properties(); String names = buffer.toString(); properties.put("dataFormats", names); properties.put("groupId", project.getGroupId()); properties.put("artifactId", project.getArtifactId()); properties.put("version", project.getVersion()); properties.put("projectName", project.getName()); if (project.getDescription() != null) { properties.put("projectDescription", project.getDescription()); } camelMetaDir.mkdirs(); File outFile = new File(camelMetaDir, "dataformat.properties"); try { properties.store(new FileWriter(outFile), "Generated by camel-package-maven-plugin"); log.info("Generated " + outFile + " containing " + count + " Camel " + (count > 1 ? "dataformats: " : "dataformat: ") + names); if (projectHelper != null) { List<String> includes = new ArrayList<String>(); includes.add("**/dataformat.properties"); projectHelper.addResource(project, dataFormatOutDir.getPath(), includes, new ArrayList<String>()); projectHelper.attachArtifact(project, "properties", "camelDataFormat", outFile); } } catch (IOException e) { throw new MojoExecutionException("Failed to write properties to " + outFile + ". Reason: " + e, e); } } else { log.debug( "No META-INF/services/org/apache/camel/dataformat directory found. Are you sure you have created a Camel data format?"); } }