| /******************************************************************************* |
| * Copyright (c) 2013 Igor Fedorenko |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Igor Fedorenko - initial API and implementation |
| *******************************************************************************/ |
| |
| package org.eclipse.m2e.core.internal.embedder; |
| |
| import java.io.File; |
| import java.util.Collections; |
| import java.util.Date; |
| import java.util.List; |
| import java.util.Map; |
| import java.util.Properties; |
| |
| import org.eclipse.aether.RepositoryCache; |
| import org.eclipse.aether.repository.WorkspaceReader; |
| import org.eclipse.aether.transfer.TransferListener; |
| |
| import org.apache.maven.artifact.repository.ArtifactRepository; |
| import org.apache.maven.eventspy.internal.EventSpyDispatcher; |
| import org.apache.maven.execution.ExecutionListener; |
| import org.apache.maven.execution.MavenExecutionRequest; |
| import org.apache.maven.model.Profile; |
| import org.apache.maven.project.ProjectBuildingRequest; |
| import org.apache.maven.settings.Mirror; |
| import org.apache.maven.settings.Proxy; |
| import org.apache.maven.settings.Server; |
| import org.apache.maven.toolchain.model.ToolchainModel; |
| |
| |
| /** |
| * Read-only MavenExecutionRequest that throws IllegalStateException from all modifiers. |
| * |
| * @since 1.4 |
| */ |
| class ReadonlyMavenExecutionRequest implements MavenExecutionRequest { |
| |
| private final MavenExecutionRequest request; |
| |
| public ReadonlyMavenExecutionRequest(MavenExecutionRequest request) { |
| this.request = request; |
| } |
| |
| @Override |
| public MavenExecutionRequest setBaseDirectory(File basedir) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public String getBaseDirectory() { |
| return request.getBaseDirectory(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setStartTime(Date start) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public Date getStartTime() { |
| return request.getStartTime(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setGoals(List<String> goals) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<String> getGoals() { |
| return Collections.unmodifiableList(request.getGoals()); |
| } |
| |
| @Override |
| public MavenExecutionRequest setSystemProperties(Properties systemProperties) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public Properties getSystemProperties() { |
| // TODO unmodifiable properties? |
| return request.getSystemProperties(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setUserProperties(Properties userProperties) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public Properties getUserProperties() { |
| // TODO unmodifiable properties? |
| return request.getUserProperties(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setReactorFailureBehavior(String failureBehavior) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public String getReactorFailureBehavior() { |
| return request.getReactorFailureBehavior(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setSelectedProjects(List<String> projects) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<String> getSelectedProjects() { |
| return Collections.unmodifiableList(request.getSelectedProjects()); |
| } |
| |
| @Override |
| public MavenExecutionRequest setResumeFrom(String project) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public String getResumeFrom() { |
| return request.getResumeFrom(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setMakeBehavior(String makeBehavior) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public String getMakeBehavior() { |
| return request.getMakeBehavior(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setRecursive(boolean recursive) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public boolean isRecursive() { |
| return request.isRecursive(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setPom(File pom) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public File getPom() { |
| return request.getPom(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setShowErrors(boolean showErrors) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public boolean isShowErrors() { |
| return request.isShowErrors(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setTransferListener(TransferListener transferListener) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public TransferListener getTransferListener() { |
| return request.getTransferListener(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setLoggingLevel(int loggingLevel) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public int getLoggingLevel() { |
| return request.getLoggingLevel(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setUpdateSnapshots(boolean updateSnapshots) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public boolean isUpdateSnapshots() { |
| return request.isUpdateSnapshots(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setNoSnapshotUpdates(boolean noSnapshotUpdates) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public boolean isNoSnapshotUpdates() { |
| return request.isNoSnapshotUpdates(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setGlobalChecksumPolicy(String globalChecksumPolicy) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public String getGlobalChecksumPolicy() { |
| return request.getGlobalChecksumPolicy(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setLocalRepositoryPath(String localRepository) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setLocalRepositoryPath(File localRepository) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public File getLocalRepositoryPath() { |
| return request.getLocalRepositoryPath(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setLocalRepository(ArtifactRepository repository) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public ArtifactRepository getLocalRepository() { |
| return request.getLocalRepository(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setInteractiveMode(boolean interactive) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public boolean isInteractiveMode() { |
| return request.isInteractiveMode(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setOffline(boolean offline) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public boolean isOffline() { |
| return request.isOffline(); |
| } |
| |
| @Override |
| public boolean isCacheTransferError() { |
| return request.isCacheTransferError(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setCacheTransferError(boolean cacheTransferError) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public boolean isCacheNotFound() { |
| return request.isCacheNotFound(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setCacheNotFound(boolean cacheNotFound) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<Profile> getProfiles() { |
| return Collections.unmodifiableList(request.getProfiles()); |
| } |
| |
| @Override |
| public MavenExecutionRequest addProfile(Profile profile) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setProfiles(List<Profile> profiles) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addActiveProfile(String profile) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addActiveProfiles(List<String> profiles) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setActiveProfiles(List<String> profiles) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<String> getActiveProfiles() { |
| return Collections.unmodifiableList(request.getActiveProfiles()); |
| } |
| |
| @Override |
| public MavenExecutionRequest addInactiveProfile(String profile) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addInactiveProfiles(List<String> profiles) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setInactiveProfiles(List<String> profiles) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<String> getInactiveProfiles() { |
| return Collections.unmodifiableList(request.getInactiveProfiles()); |
| } |
| |
| @Override |
| public List<Proxy> getProxies() { |
| return Collections.unmodifiableList(request.getProxies()); |
| } |
| |
| @Override |
| public MavenExecutionRequest setProxies(List<Proxy> proxies) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addProxy(Proxy proxy) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<Server> getServers() { |
| return Collections.unmodifiableList(request.getServers()); |
| } |
| |
| @Override |
| public MavenExecutionRequest setServers(List<Server> servers) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addServer(Server server) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<Mirror> getMirrors() { |
| return Collections.unmodifiableList(request.getMirrors()); |
| } |
| |
| @Override |
| public MavenExecutionRequest setMirrors(List<Mirror> mirrors) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addMirror(Mirror mirror) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<String> getPluginGroups() { |
| return Collections.unmodifiableList(request.getPluginGroups()); |
| } |
| |
| @Override |
| public MavenExecutionRequest setPluginGroups(List<String> pluginGroups) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addPluginGroup(String pluginGroup) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addPluginGroups(List<String> pluginGroups) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public boolean isProjectPresent() { |
| return request.isProjectPresent(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setProjectPresent(boolean isProjectPresent) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public File getUserSettingsFile() { |
| return request.getUserSettingsFile(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setUserSettingsFile(File userSettingsFile) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public File getGlobalSettingsFile() { |
| return request.getGlobalSettingsFile(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setGlobalSettingsFile(File globalSettingsFile) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addRemoteRepository(ArtifactRepository repository) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest addPluginArtifactRepository(ArtifactRepository repository) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setRemoteRepositories(List<ArtifactRepository> repositories) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<ArtifactRepository> getRemoteRepositories() { |
| return Collections.unmodifiableList(request.getRemoteRepositories()); |
| } |
| |
| @Override |
| public MavenExecutionRequest setPluginArtifactRepositories(List<ArtifactRepository> repositories) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public List<ArtifactRepository> getPluginArtifactRepositories() { |
| return Collections.unmodifiableList(request.getPluginArtifactRepositories()); |
| } |
| |
| @Override |
| public MavenExecutionRequest setRepositoryCache(RepositoryCache repositoryCache) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public RepositoryCache getRepositoryCache() { |
| return request.getRepositoryCache(); |
| } |
| |
| @Override |
| public WorkspaceReader getWorkspaceReader() { |
| return request.getWorkspaceReader(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setWorkspaceReader(WorkspaceReader workspaceReader) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public File getUserToolchainsFile() { |
| return request.getUserToolchainsFile(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setUserToolchainsFile(File userToolchainsFile) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public ExecutionListener getExecutionListener() { |
| return request.getExecutionListener(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setExecutionListener(ExecutionListener executionListener) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public ProjectBuildingRequest getProjectBuildingRequest() { |
| // TODO unmodifiable ProjectBuildingRequest |
| return request.getProjectBuildingRequest(); |
| } |
| |
| @Override |
| public boolean isUseLegacyLocalRepository() { |
| return request.isUseLegacyLocalRepository(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setUseLegacyLocalRepository(boolean useLegacyRepository) { |
| return request.setUseLegacyLocalRepository(useLegacyRepository); |
| } |
| |
| @Override |
| public String getBuilderId() { |
| return request.getBuilderId(); |
| } |
| |
| @Override |
| public int getDegreeOfConcurrency() { |
| return request.getDegreeOfConcurrency(); |
| } |
| |
| @Override |
| public List<String> getExcludedProjects() { |
| return Collections.unmodifiableList(request.getExcludedProjects()); |
| } |
| |
| @Override |
| public MavenExecutionRequest setBuilderId(String builderId) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public void setDegreeOfConcurrency(int degree) { |
| throw new IllegalStateException(); |
| } |
| |
| @Override |
| public MavenExecutionRequest setExcludedProjects(List<String> excludedProjects) { |
| throw new IllegalStateException(); |
| } |
| |
| public Map<String, Object> getData() { |
| return Collections.unmodifiableMap(request.getData()); |
| } |
| |
| public EventSpyDispatcher getEventSpyDispatcher() { |
| return request.getEventSpyDispatcher(); |
| } |
| |
| public File getGlobalToolchainsFile() { |
| return request.getGlobalToolchainsFile(); |
| } |
| |
| public File getMultiModuleProjectDirectory() { |
| return request.getMultiModuleProjectDirectory(); |
| } |
| |
| public Map<String, List<ToolchainModel>> getToolchains() { |
| return Collections.unmodifiableMap(request.getToolchains()); |
| } |
| |
| public MavenExecutionRequest setEventSpyDispatcher(EventSpyDispatcher eventSpyDispatcher) { |
| throw new IllegalStateException(); |
| } |
| |
| public MavenExecutionRequest setGlobalToolchainsFile(File globalToolchainsFile) { |
| throw new IllegalStateException(); |
| } |
| |
| public void setMultiModuleProjectDirectory(File file) { |
| throw new IllegalStateException(); |
| } |
| |
| public MavenExecutionRequest setToolchains(Map<String, List<ToolchainModel>> toolchains) { |
| throw new IllegalStateException(); |
| } |
| |
| } |