List of usage examples for org.apache.maven.artifact.versioning DefaultArtifactVersion getIncrementalVersion
public int getIncrementalVersion()
From source file:com.liferay.ide.maven.core.MavenUtil.java
License:Open Source License
public static String getVersion(String version) { String retval = null;//from ww w. j av a 2 s . com final DefaultArtifactVersion v = new DefaultArtifactVersion(version); retval = v.getMajorVersion() + "." + v.getMinorVersion() + "." + v.getIncrementalVersion(); if ("0.0.0".equals(retval)) { retval = v.getQualifier(); } // try to parse as osgi version if it fails then return 0.0.0 try { Version.parseVersion(retval); } catch (Exception e) { retval = "0.0.0"; } return retval; }
From source file:com.vmware.bdd.plugin.ambari.utils.Version.java
License:Open Source License
public static int compare(String srcVersion, String destVersion) { logger.info("The source version is " + srcVersion); logger.info("The destination version is " + destVersion); DefaultArtifactVersion srcArtifactVersion = new DefaultArtifactVersion(srcVersion); DefaultArtifactVersion destArtifactVersion = new DefaultArtifactVersion(destVersion); int[] srcVersionArray = { srcArtifactVersion.getMajorVersion(), srcArtifactVersion.getMinorVersion(), srcArtifactVersion.getIncrementalVersion() }; int[] destVersionArray = { destArtifactVersion.getMajorVersion(), destArtifactVersion.getMinorVersion(), destArtifactVersion.getIncrementalVersion() }; for (int i = 0; i < srcVersionArray.length; i++) { if (i >= destVersionArray.length) { return compare(destVersionArray, srcVersionArray, 1); }/* w ww. ja v a 2s. c o m*/ if (srcVersionArray[i] > destVersionArray[i]) { return 1; } else if (srcVersionArray[i] < destVersionArray[i]) { return -1; } } if (destVersionArray.length > srcVersionArray.length) { return compare(srcVersionArray, destVersionArray, -1); } return 0; }
From source file:com.vmware.bdd.plugin.clouderamgr.service.ClouderaManagerImpl.java
License:Open Source License
@Override public List<HadoopStack> getSupportedStacks() throws SoftwareManagementPluginException { String randomClusterName = UUID.randomUUID().toString(); final ApiClusterList clusterList = new ApiClusterList(); ApiCluster apiCluster = new ApiCluster(); apiCluster.setName(randomClusterName); apiCluster.setVersion(ApiClusterVersion.CDH5); clusterList.add(apiCluster);/*w w w.ja va 2 s . c o m*/ try { List<HadoopStack> hadoopStacks = new ArrayList<HadoopStack>(); apiResourceRootV6.getClustersResource().createClusters(clusterList); for (ApiParcel apiParcel : apiResourceRootV6.getClustersResource().getParcelsResource(randomClusterName) .readParcels(DataView.SUMMARY).getParcels()) { if (apiParcel.getProduct().equals(Constants.CDH_REPO_PREFIX)) { DefaultArtifactVersion parcelVersion = new DefaultArtifactVersion(apiParcel.getVersion()); HadoopStack stack = new HadoopStack(); stack.setDistro(apiParcel.getProduct(), parcelVersion.getMajorVersion() + "." + parcelVersion.getMinorVersion() + "." + parcelVersion.getIncrementalVersion()); stack.setFullVersion(apiParcel.getVersion()); stack.setVendor(Constants.CDH_DISTRO_VENDOR); List<String> roles = new ArrayList<String>(); for (String role : AvailableServiceRoleContainer.allRoles(apiParcel.getVersion())) { roles.add(role); } stack.setHveSupported(true); stack.setRoles(roles); hadoopStacks.add(stack); } } apiResourceRootV6.getClustersResource().deleteCluster(randomClusterName); return hadoopStacks; } catch (Exception e) { throw SoftwareManagementPluginException.RETRIEVE_SUPPORTED_STACKS_FAIL(e, Constants.CDH_PLUGIN_NAME); } }
From source file:com.vmware.bdd.plugin.clouderamgr.service.ClouderaManagerImpl.java
License:Open Source License
/** provision parcels, Reentrant * A Parcel encapsulate a specific product and version. For example, (CDH 4.1). * A parcel is downloaded, distributed to all the machines of a cluster and then allowed to be activated. * * @param cluster//from w ww . j av a2s . c o m * @param reportQueue * @throws Exception */ private void provisionParcels(final CmClusterDef cluster, final List<String> addedNodes, final ClusterReportQueue reportQueue) throws Exception { if (isConfigured(cluster)) { return; } apiResourceRootV6.getClouderaManagerResource().updateConfig( new ApiConfigList(Arrays.asList(new ApiConfig[] { new ApiConfig("PARCEL_UPDATE_FREQ", "1") }))); final Set<String> repositoriesRequired = new HashSet<String>(); for (CmServiceDef serviceDef : cluster.getServices()) { repositoriesRequired.add(serviceDef.getType().getRepository().toString(cluster.getVersion())); } logger.info("parcel repo required: " + repositoriesRequired + " cluster: " + cluster.getName()); final List<String> repositoriesRequiredOrdered = new ArrayList<String>(); for (String repository : repositoriesRequired) { if (repository.equals(Constants.CDH_REPO_PREFIX)) { repositoriesRequiredOrdered.add(0, repository); } else { repositoriesRequiredOrdered.add(repository); } } // validate this cluster has access to all Parcels it requires executeAndReport("Validating parcels availability", addedNodes, null, ProgressSplit.VALIDATE_PARCELS_AVAILABILITY.getProgress(), cluster.getCurrentReport(), reportQueue, new StatusPoller() { @Override public boolean poll() { for (ApiParcel parcel : apiResourceRootV6.getClustersResource() .getParcelsResource(cluster.getName()).readParcels(DataView.FULL).getParcels()) { try { repositoriesRequired.remove(parcel.getProduct()); } catch (IllegalArgumentException e) { // ignore } } // TODO: if one required parcel is not available, will run forever, need timeout/validation return repositoriesRequired.isEmpty(); } }, false); apiResourceRootV6.getClouderaManagerResource().updateConfig( new ApiConfigList(Arrays.asList(new ApiConfig[] { new ApiConfig("PARCEL_UPDATE_FREQ", "60") }))); DefaultArtifactVersion expectVersion = null; if (cluster.getFullVersion() != null) { expectVersion = new DefaultArtifactVersion(cluster.getFullVersion()); } for (String repository : repositoriesRequiredOrdered) { DefaultArtifactVersion parcelVersion = null; for (ApiParcel apiParcel : apiResourceRootV6.getClustersResource().getParcelsResource(cluster.getName()) .readParcels(DataView.FULL).getParcels()) { DefaultArtifactVersion parcelVersionTmp = new DefaultArtifactVersion(apiParcel.getVersion()); if (apiParcel.getProduct().equals(repository)) { if (apiParcel.getProduct().equals(Constants.CDH_REPO_PREFIX)) { /* * Policy for "CDH" parcel: * 1) If specify fullVersion, try to find that parcel, if cannot, select the latest parcel(with highest version). * 2) If fullVersion not specified, select the latest parcel */ if (parcelVersion == null || parcelVersion.compareTo(parcelVersionTmp) < 0) { parcelVersion = new DefaultArtifactVersion(apiParcel.getVersion()); } if (expectVersion != null && parcelVersionTmp.getMajorVersion() == expectVersion.getMajorVersion() && parcelVersionTmp.getMinorVersion() == expectVersion.getMinorVersion() && parcelVersionTmp.getIncrementalVersion() == expectVersion .getIncrementalVersion()) { parcelVersion = new DefaultArtifactVersion(apiParcel.getVersion()); break; } } if (!apiParcel.getProduct().equals(Constants.CDH_REPO_PREFIX)) { // For non-CDH parcel, just select the latest one if (parcelVersion == null || parcelVersion.compareTo(parcelVersionTmp) < 0) { parcelVersion = new DefaultArtifactVersion(apiParcel.getVersion()); } } } } final ParcelResource apiParcelResource = apiResourceRootV6.getClustersResource() .getParcelsResource(cluster.getName()).getParcelResource(repository, parcelVersion.toString()); String refMsg = referCmfUrlMsg(domain + "/cmf/parcel/status"); if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage()) .ordinal() < AvailableParcelStage.DOWNLOADED.ordinal()) { String action = "Downloading parcel..."; ParcelProvisionPoller poll = new ParcelProvisionPoller(apiParcelResource, AvailableParcelStage.DOWNLOADED, cluster.getCurrentReport(), reportQueue, ProgressSplit.DOWNLOAD_PARCEL.getProgress()); if (apiParcelResource.readParcel().getStage().equals(AvailableParcelStage.DOWNLOADING.toString())) { // Another thread is downloading this parcel, just wait for its completion executeAndReport(action, null, ProgressSplit.DOWNLOAD_PARCEL.getProgress(), cluster.getCurrentReport(), reportQueue, poll, false); } else { // the ApiCommand instance for parcel is inaccessible, so do not check the return value executeAndReport(action, apiParcelResource.startDownloadCommand(), ProgressSplit.DOWNLOAD_PARCEL.getProgress(), cluster.getCurrentReport(), reportQueue, poll, false); } if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage()) .ordinal() < AvailableParcelStage.DOWNLOADED.ordinal()) { throw ClouderaManagerException.DOWNLOAD_PARCEL_FAIL(apiParcelResource.readParcel().getProduct(), apiParcelResource.readParcel().getVersion(), refMsg); } } if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage()) .ordinal() < AvailableParcelStage.DISTRIBUTED.ordinal()) { String action = "Distributing parcel..."; final StatusPoller poller = new ParcelProvisionPoller(apiParcelResource, AvailableParcelStage.DISTRIBUTED, cluster.getCurrentReport(), reportQueue, ProgressSplit.DISTRIBUTE_PARCEL.getProgress()); executeAndReport(action, apiParcelResource.startDistributionCommand(), ProgressSplit.DISTRIBUTE_PARCEL.getProgress(), cluster.getCurrentReport(), reportQueue, poller, false); if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage()) .ordinal() < AvailableParcelStage.DISTRIBUTED.ordinal()) { throw ClouderaManagerException.DISTRIBUTE_PARCEL_FAIL( apiParcelResource.readParcel().getProduct(), apiParcelResource.readParcel().getVersion(), refMsg); } } if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage()) .ordinal() < AvailableParcelStage.ACTIVATED.ordinal()) { String action = "Activating parcel..."; executeAndReport(action, apiParcelResource.activateCommand(), ProgressSplit.ACTIVATE_PARCEL.getProgress(), cluster.getCurrentReport(), reportQueue, new StatusPoller() { @Override public boolean poll() { // activate parcel is pretty fast, so suppose we are no need to do much error handling/progress monitoring // TODO: set a timeout return apiParcelResource.readParcel().getStage() .equals(AvailableParcelStage.ACTIVATED.toString()); } }, false); if (AvailableParcelStage.valueOf(apiParcelResource.readParcel().getStage()) .ordinal() < AvailableParcelStage.ACTIVATED.ordinal()) { throw ClouderaManagerException.ACTIVATE_PARCEL_FAIL(apiParcelResource.readParcel().getProduct(), apiParcelResource.readParcel().getVersion(), refMsg); } } } }
From source file:com.vmware.bdd.utils.Version.java
License:Open Source License
public static int compare(String srcVersion, String destVersion) { DefaultArtifactVersion srcArtifactVersion = new DefaultArtifactVersion(srcVersion); DefaultArtifactVersion destArtifactVersion = new DefaultArtifactVersion(destVersion); int[] srcVersionArray = { srcArtifactVersion.getMajorVersion(), srcArtifactVersion.getMinorVersion(), srcArtifactVersion.getIncrementalVersion() }; int[] destVersionArray = { destArtifactVersion.getMajorVersion(), destArtifactVersion.getMinorVersion(), destArtifactVersion.getIncrementalVersion() }; for (int i = 0; i < srcVersionArray.length; i++) { if (i >= destVersionArray.length) { return compare(destVersionArray, srcVersionArray, 1); }/*from w w w . jav a 2s . c o m*/ if (srcVersionArray[i] > destVersionArray[i]) { return 1; } else if (srcVersionArray[i] < destVersionArray[i]) { return -1; } } if (destVersionArray.length > srcVersionArray.length) { return compare(srcVersionArray, destVersionArray, -1); } return 0; }
From source file:org.abstracthorizon.proximity.maven.MavenItemInspector.java
License:Apache License
public void processItem(ItemProperties ip, File file) { if (MavenArtifactRecognizer.isPom(ip.getName())) { if (!MavenArtifactRecognizer.isChecksum(ip.getName())) { ip.setMetadata(M2KIND, KIND_POM); try { MavenXpp3Reader reader = new MavenXpp3Reader(); FileInputStream fis = new FileInputStream(file); InputStreamReader ir = new InputStreamReader(fis); Model pom = null;/* www . java 2s . c o m*/ try { pom = reader.read(ir); ir.close(); } finally { fis.close(); } if (pom.getGroupId() != null) { ip.setMetadata(POM_GID_KEY, pom.getGroupId()); } else { if (pom.getParent().getGroupId() != null) { ip.setMetadata(POM_GID_KEY, pom.getParent().getGroupId()); } } if (pom.getArtifactId() != null) { ip.setMetadata(POM_AID_KEY, pom.getArtifactId()); } if (pom.getPackaging() != null) { ip.setMetadata(POM_PCK_KEY, pom.getPackaging()); } if (pom.getVersion() != null) { ip.setMetadata(POM_VERSION_KEY, pom.getVersion()); } else { if (pom.getParent().getVersion() != null) { ip.setMetadata(POM_VERSION_KEY, pom.getParent().getVersion()); } } if (ip.getMetadata(POM_VERSION_KEY) != null) { DefaultArtifactVersion af = new DefaultArtifactVersion(ip.getMetadata(POM_VERSION_KEY)); ip.setMetadata(POM_VERSION_MAJOR_KEY, Integer.toString(af.getMajorVersion())); ip.setMetadata(POM_VERSION_MINOR_KEY, Integer.toString(af.getMinorVersion())); ip.setMetadata(POM_VERSION_INCREMENTAL_KEY, Integer.toString(af.getIncrementalVersion())); ip.setMetadata(POM_VERSION_BUILDNUM_KEY, Integer.toString(af.getBuildNumber())); // do not put null if (af.getQualifier() != null) { ip.setMetadata(POM_VERSION_QUALIFIER_KEY, af.getQualifier()); } } if (pom.getUrl() != null) { ip.setMetadata(POM_URL_KEY, pom.getUrl()); } if (pom.getDescription() != null) { ip.setMetadata(POM_DESCRIPTION_KEY, pom.getDescription()); } if (pom.getParent() != null) { StringBuffer parent = new StringBuffer(); parent.append(pom.getParent().getGroupId()); parent.append(":"); parent.append(pom.getParent().getArtifactId()); if (pom.getParent().getVersion() != null) { parent.append(":"); parent.append(pom.getParent().getVersion()); } ip.setMetadata(POM_PARENT_KEY, parent.toString()); } if (pom.getDependencies() != null) { StringBuffer deps = new StringBuffer(); for (Iterator i = pom.getDependencies().iterator(); i.hasNext();) { Dependency dep = (Dependency) i.next(); deps.append(dep.getGroupId()); deps.append(":"); deps.append(dep.getArtifactId()); // TODO: version ranges? if (dep.getVersion() != null && !(dep.getVersion().indexOf("[") > 0) && !(dep.getVersion().indexOf("(") > 0)) { deps.append(":"); deps.append(dep.getVersion()); } deps.append("\n"); } ip.setMetadata(POM_DEPENDENCIES_KEY, deps.toString()); } } catch (XmlPullParserException ex) { logger.warn("Got XmlPullParserException during reading POM, content will not be indexed on " + ip.getPath(), ex); } catch (IOException ex) { logger.error( "Got IOException during reading POM, content will not be indexed on " + ip.getPath(), ex); } } } else if (MavenArtifactRecognizer.isMetadata(ip.getName())) { ip.setMetadata(M2KIND, KIND_METADATA); } else if (MavenArtifactRecognizer.isSnapshot(ip.getDirectoryPath(), ip.getName())) { ip.setMetadata(M2KIND, KIND_SNAPSHOT); } }
From source file:org.bimserver.version.VersionChecker.java
License:Open Source License
public VersionChecker(ResourceFetcher resourceFetcher) throws VersionCheckException { try {//from www. j av a2 s . c o m Path pom = resourceFetcher.getFile("pom.xml"); if (pom == null) { throw new VersionCheckException("No pom.xml found"); } if (Files.exists(pom)) { String version = null; MavenXpp3Reader mavenreader = new MavenXpp3Reader(); if (pom != null) { try (FileReader fileReader = new FileReader(pom.toFile())) { Model model = mavenreader.read(fileReader); version = model.getVersion(); } } if (version == null) { // Only on development environments we have to get the version from the parent pom file Path parentPom = resourceFetcher.getFile("../pom.xml"); if (parentPom != null) { try (FileReader fileReader = new FileReader(parentPom.toFile())) { Model parentModel = mavenreader.read(fileReader); version = parentModel.getVersion(); } } else { LOGGER.error("No parent pom.xml found"); } } DefaultArtifactVersion defaultArtifactVersion = new DefaultArtifactVersion(version); localVersion = new SVersion(); localVersion.setMajor(defaultArtifactVersion.getMajorVersion()); localVersion.setMinor(defaultArtifactVersion.getMinorVersion()); localVersion.setRevision(defaultArtifactVersion.getIncrementalVersion()); localVersion.setFullString(defaultArtifactVersion.toString()); } else { LOGGER.warn("No version info"); } } catch (Exception e) { throw new VersionCheckException(e); } }
From source file:org.mule.devkit.maven.studio.StudioPackageMojo.java
License:Open Source License
private String getPluginVersionFrom() throws MojoExecutionException { DefaultArtifactVersion av = new DefaultArtifactVersion(project.getVersion()); int majorVersion = av.getMajorVersion(); int minorVersion = av.getMinorVersion(); int incrementalVersion = av.getIncrementalVersion(); if (majorVersion == 0 && minorVersion == 0 && incrementalVersion == 0) { throw new MojoExecutionException( "Invalid maven project version, can't create studio plugin version, format must be " + "[major-version].[minor-version].[incremental-version]-[qualifier], at least a major version must be specified."); }// ww w . j a v a2s. c o m return majorVersion + "." + minorVersion + "." + incrementalVersion; }