blob: e0e77d2800ccd26ba7cf64483027c7faa6a0ccfa [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.maven.profiles;
import java.util.List;
import org.apache.maven.model.Activation;
import org.apache.maven.model.ActivationFile;
import org.apache.maven.model.ActivationProperty;
import org.apache.maven.model.Profile;
import org.apache.maven.model.Repository;
/**
* ProfilesConversionUtils
*/
@Deprecated
public class ProfilesConversionUtils {
private ProfilesConversionUtils() {}
public static Profile convertFromProfileXmlProfile(org.apache.maven.profiles.Profile profileXmlProfile) {
Profile profile = new Profile();
profile.setId(profileXmlProfile.getId());
profile.setSource("profiles.xml");
org.apache.maven.profiles.Activation profileActivation = profileXmlProfile.getActivation();
if (profileActivation != null) {
Activation activation = new Activation();
activation.setActiveByDefault(profileActivation.isActiveByDefault());
activation.setJdk(profileActivation.getJdk());
org.apache.maven.profiles.ActivationProperty profileProp = profileActivation.getProperty();
if (profileProp != null) {
ActivationProperty prop = new ActivationProperty();
prop.setName(profileProp.getName());
prop.setValue(profileProp.getValue());
activation.setProperty(prop);
}
ActivationOS profileOs = profileActivation.getOs();
if (profileOs != null) {
org.apache.maven.model.ActivationOS os = new org.apache.maven.model.ActivationOS();
os.setArch(profileOs.getArch());
os.setFamily(profileOs.getFamily());
os.setName(profileOs.getName());
os.setVersion(profileOs.getVersion());
activation.setOs(os);
}
org.apache.maven.profiles.ActivationFile profileFile = profileActivation.getFile();
if (profileFile != null) {
ActivationFile file = new ActivationFile();
file.setExists(profileFile.getExists());
file.setMissing(profileFile.getMissing());
activation.setFile(file);
}
profile.setActivation(activation);
}
profile.setProperties(profileXmlProfile.getProperties());
List repos = profileXmlProfile.getRepositories();
if (repos != null) {
for (Object repo : repos) {
profile.addRepository(convertFromProfileXmlRepository((org.apache.maven.profiles.Repository) repo));
}
}
List pluginRepos = profileXmlProfile.getPluginRepositories();
if (pluginRepos != null) {
for (Object pluginRepo : pluginRepos) {
profile.addPluginRepository(
convertFromProfileXmlRepository((org.apache.maven.profiles.Repository) pluginRepo));
}
}
return profile;
}
private static Repository convertFromProfileXmlRepository(org.apache.maven.profiles.Repository profileXmlRepo) {
Repository repo = new Repository();
repo.setId(profileXmlRepo.getId());
repo.setLayout(profileXmlRepo.getLayout());
repo.setName(profileXmlRepo.getName());
repo.setUrl(profileXmlRepo.getUrl());
if (profileXmlRepo.getSnapshots() != null) {
repo.setSnapshots(convertRepositoryPolicy(profileXmlRepo.getSnapshots()));
}
if (profileXmlRepo.getReleases() != null) {
repo.setReleases(convertRepositoryPolicy(profileXmlRepo.getReleases()));
}
return repo;
}
private static org.apache.maven.model.RepositoryPolicy convertRepositoryPolicy(RepositoryPolicy profileXmlRepo) {
org.apache.maven.model.RepositoryPolicy policy = new org.apache.maven.model.RepositoryPolicy();
policy.setEnabled(profileXmlRepo.isEnabled());
policy.setUpdatePolicy(profileXmlRepo.getUpdatePolicy());
policy.setChecksumPolicy(profileXmlRepo.getChecksumPolicy());
return policy;
}
}