mirror of https://github.com/apache/maven.git
Initial revision
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163726 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c700675257
commit
f1d1446a50
|
@ -0,0 +1,8 @@
|
|||
target
|
||||
*~
|
||||
*.log
|
||||
.classpath
|
||||
.project
|
||||
*.ipr
|
||||
*.iws
|
||||
*.iml
|
|
@ -0,0 +1,29 @@
|
|||
<project>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<artifactId>maven-plugin-parent</artifactId>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<version>2.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<artifactId>maven-idea-plugin</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>maven-plugin</packaging>
|
||||
<name>Maven IDEA Plugin</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-core</artifactId>
|
||||
<version>2.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-model</artifactId>
|
||||
<version>2.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.apache.maven</groupId>
|
||||
<artifactId>maven-artifact</artifactId>
|
||||
<version>2.0-SNAPSHOT</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
|
@ -0,0 +1,433 @@
|
|||
package org.apache.maven.plugin.idea;
|
||||
|
||||
/*
|
||||
* Copyright 2001-2005 The Apache Software Foundation.
|
||||
*
|
||||
* Licensed 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.
|
||||
*/
|
||||
|
||||
import org.apache.maven.artifact.Artifact;
|
||||
import org.apache.maven.model.Resource;
|
||||
import org.apache.maven.plugin.AbstractPlugin;
|
||||
import org.apache.maven.plugin.PluginExecutionException;
|
||||
import org.apache.maven.project.MavenProject;
|
||||
import org.codehaus.plexus.util.IOUtil;
|
||||
import org.codehaus.plexus.util.StringUtils;
|
||||
import org.codehaus.plexus.util.xml.Xpp3Dom;
|
||||
import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
|
||||
import org.codehaus.plexus.util.xml.Xpp3DomWriter;
|
||||
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.util.Iterator;
|
||||
|
||||
/**
|
||||
* @goal idea
|
||||
* @requiresDependencyResolution
|
||||
* @description Goal for generating IDEA files from a POM
|
||||
* @parameter name="project"
|
||||
* type="MavenProject"
|
||||
* required="true"
|
||||
* validator=""
|
||||
* expression="#project"
|
||||
* description=""
|
||||
* @todo use dom4j or something. Xpp3Dom can't cope properly with entities and so on
|
||||
*/
|
||||
public class IdeaMojo
|
||||
extends AbstractPlugin
|
||||
{
|
||||
private MavenProject project;
|
||||
|
||||
public void execute()
|
||||
throws PluginExecutionException
|
||||
{
|
||||
rewriteModule();
|
||||
|
||||
rewriteProject();
|
||||
|
||||
rewriteWorkspace();
|
||||
}
|
||||
|
||||
private void rewriteWorkspace()
|
||||
throws PluginExecutionException
|
||||
{
|
||||
File workspaceFile = new File( project.getBasedir(), project.getArtifactId() + ".iws" );
|
||||
if ( !workspaceFile.exists() )
|
||||
{
|
||||
FileWriter w = null;
|
||||
try
|
||||
{
|
||||
w = new FileWriter( workspaceFile );
|
||||
IOUtil.copy( getClass().getResourceAsStream( "/templates/default/workspace.xml" ), w );
|
||||
}
|
||||
catch ( IOException e )
|
||||
{
|
||||
throw new PluginExecutionException( "Unable to create workspace file", e );
|
||||
}
|
||||
finally
|
||||
{
|
||||
IOUtil.close( w );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void rewriteProject()
|
||||
throws PluginExecutionException
|
||||
{
|
||||
try
|
||||
{
|
||||
File projectFile = new File( project.getBasedir(), project.getArtifactId() + ".ipr" );
|
||||
Reader reader;
|
||||
if ( projectFile.exists() )
|
||||
{
|
||||
reader = new FileReader( projectFile );
|
||||
}
|
||||
else
|
||||
{
|
||||
reader = new InputStreamReader( getClass().getResourceAsStream( "/templates/default/project.xml" ) );
|
||||
}
|
||||
|
||||
Xpp3Dom module;
|
||||
try
|
||||
{
|
||||
module = Xpp3DomBuilder.build( reader );
|
||||
}
|
||||
finally
|
||||
{
|
||||
IOUtil.close( reader );
|
||||
}
|
||||
|
||||
Xpp3Dom component = findComponent( module, "ProjectModuleManager" );
|
||||
Xpp3Dom modules = findElement( component, "modules" );
|
||||
|
||||
removeOldElements( modules, "module" );
|
||||
|
||||
for ( Iterator i = project.getCollectedProjects().iterator(); i.hasNext(); )
|
||||
{
|
||||
MavenProject p = (MavenProject) i.next();
|
||||
|
||||
Xpp3Dom m = createElement( modules, "module" );
|
||||
String modulePath = new File( p.getBasedir(), p.getArtifactId() + ".iml" ).getAbsolutePath();
|
||||
m.setAttribute( "filepath", "$PROJECT_DIR$/" + toRelative( project.getBasedir(), modulePath ) );
|
||||
}
|
||||
|
||||
FileWriter writer = new FileWriter( projectFile );
|
||||
try
|
||||
{
|
||||
Xpp3DomWriter.write( writer, module );
|
||||
}
|
||||
finally
|
||||
{
|
||||
IOUtil.close( writer );
|
||||
}
|
||||
}
|
||||
catch ( XmlPullParserException e )
|
||||
{
|
||||
throw new PluginExecutionException( "Error parsing existing IML file", e );
|
||||
}
|
||||
catch ( IOException e )
|
||||
{
|
||||
throw new PluginExecutionException( "Error parsing existing IML file", e );
|
||||
}
|
||||
}
|
||||
|
||||
private void rewriteModule()
|
||||
throws PluginExecutionException
|
||||
{
|
||||
try
|
||||
{
|
||||
File moduleFile = new File( project.getBasedir(), project.getArtifactId() + ".iml" );
|
||||
Reader reader;
|
||||
if ( moduleFile.exists() )
|
||||
{
|
||||
reader = new FileReader( moduleFile );
|
||||
}
|
||||
else
|
||||
{
|
||||
reader = new InputStreamReader( getClass().getResourceAsStream( "/templates/default/module.xml" ) );
|
||||
}
|
||||
|
||||
Xpp3Dom module;
|
||||
try
|
||||
{
|
||||
module = Xpp3DomBuilder.build( reader );
|
||||
}
|
||||
finally
|
||||
{
|
||||
IOUtil.close( reader );
|
||||
}
|
||||
|
||||
// TODO: how can we let the WAR/EJBs plugin hook in and provide this?
|
||||
// TODO: merge in ejb-module, etc.
|
||||
if ( project.getPackaging().equals( "war" ) )
|
||||
{
|
||||
addWebModule( module );
|
||||
}
|
||||
else if ( project.getPackaging().equals( "ejb" ) )
|
||||
{
|
||||
module.setAttribute( "type", "J2EE_EJB_MODULE" );
|
||||
}
|
||||
|
||||
Xpp3Dom component = findComponent( module, "NewModuleRootManager" );
|
||||
Xpp3Dom output = findElement( component, "output" );
|
||||
output.setAttribute( "url", getModuleFileUrl( project.getBuild().getOutputDirectory() ) );
|
||||
Xpp3Dom outputTest = findElement( component, "output-test" );
|
||||
outputTest.setAttribute( "url", getModuleFileUrl( project.getBuild().getTestOutputDirectory() ) );
|
||||
|
||||
Xpp3Dom content = findElement( component, "content" );
|
||||
|
||||
removeOldElements( content, "sourceFolder" );
|
||||
|
||||
for ( Iterator i = project.getCompileSourceRoots().iterator(); i.hasNext(); )
|
||||
{
|
||||
String directory = (String) i.next();
|
||||
addSourceFolder( content, directory, false );
|
||||
}
|
||||
for ( Iterator i = project.getTestCompileSourceRoots().iterator(); i.hasNext(); )
|
||||
{
|
||||
String directory = (String) i.next();
|
||||
addSourceFolder( content, directory, true );
|
||||
}
|
||||
|
||||
for ( Iterator i = project.getBuild().getResources().iterator(); i.hasNext(); )
|
||||
{
|
||||
Resource resource = (Resource) i.next();
|
||||
String directory = resource.getDirectory();
|
||||
addSourceFolder( content, directory, false );
|
||||
}
|
||||
|
||||
for ( Iterator i = project.getBuild().getTestResources().iterator(); i.hasNext(); )
|
||||
{
|
||||
Resource resource = (Resource) i.next();
|
||||
String directory = resource.getDirectory();
|
||||
addSourceFolder( content, directory, true );
|
||||
}
|
||||
|
||||
removeOldDependencies( component );
|
||||
|
||||
// Must loop artifacts, not dependencies to resolve transitivity
|
||||
for ( Iterator i = project.getArtifacts().iterator(); i.hasNext(); )
|
||||
{
|
||||
Artifact a = (Artifact) i.next();
|
||||
// TODO: resolve projects in reactor as references
|
||||
|
||||
Xpp3Dom dep = createElement( component, "orderEntry" );
|
||||
dep.setAttribute( "type", "module-library" );
|
||||
|
||||
dep = createElement( dep, "library" );
|
||||
dep.setAttribute( "name", a.getArtifactId() );
|
||||
|
||||
Xpp3Dom el = createElement( dep, "CLASSES" );
|
||||
el = createElement( el, "root" );
|
||||
el.setAttribute( "url", "jar://" + a.getFile().getAbsolutePath().replace( '\\', '/' ) + "!/" );
|
||||
|
||||
createElement( dep, "JAVADOC" );
|
||||
createElement( dep, "SOURCES" );
|
||||
}
|
||||
|
||||
FileWriter writer = new FileWriter( moduleFile );
|
||||
try
|
||||
{
|
||||
Xpp3DomWriter.write( writer, module );
|
||||
}
|
||||
finally
|
||||
{
|
||||
IOUtil.close( writer );
|
||||
}
|
||||
}
|
||||
catch ( XmlPullParserException e )
|
||||
{
|
||||
throw new PluginExecutionException( "Error parsing existing IML file", e );
|
||||
}
|
||||
catch ( IOException e )
|
||||
{
|
||||
throw new PluginExecutionException( "Error parsing existing IML file", e );
|
||||
}
|
||||
}
|
||||
|
||||
private void addWebModule( Xpp3Dom module )
|
||||
{
|
||||
// TODO: this is bad - reproducing war plugin defaults, etc!
|
||||
// --> this is where the OGNL out of a plugin would be helpful as we could run package first and
|
||||
// grab stuff from the mojo
|
||||
|
||||
/*
|
||||
Can't run this anyway as Xpp3Dom is in both classloaders...
|
||||
Xpp3Dom configuration = project.getGoalConfiguration( "maven-war-plugin", "war" );
|
||||
String warWebapp = configuration.getChild( "webappDirectory" ).getValue();
|
||||
if ( warWebapp == null )
|
||||
{
|
||||
warWebapp = project.getBuild().getDirectory() + "/" + project.getArtifactId();
|
||||
}
|
||||
String warSrc = configuration.getChild( "warSrc" ).getValue();
|
||||
if ( warSrc == null )
|
||||
{
|
||||
warSrc = "src/main/webapp";
|
||||
}
|
||||
String webXml = configuration.getChild( "webXml" ).getValue();
|
||||
if ( webXml == null )
|
||||
{
|
||||
webXml = warSrc + "/WEB-INF/web.xml";
|
||||
}
|
||||
*/
|
||||
String warWebapp = project.getBuild().getDirectory() + "/" + project.getArtifactId();
|
||||
String warSrc = "src/main/webapp";
|
||||
String webXml = warSrc + "/WEB-INF/web.xml";
|
||||
|
||||
module.setAttribute( "type", "J2EE_WEB_MODULE" );
|
||||
|
||||
Xpp3Dom component = findComponent( module, "WebModuleBuildComponent" );
|
||||
Xpp3Dom setting = findSetting( component, "EXPLODED_URL" );
|
||||
setting.setAttribute( "value", getModuleFileUrl( warWebapp ) );
|
||||
|
||||
component = findComponent( module, "WebModuleProperties" );
|
||||
Xpp3Dom element = findElement( component, "deploymentDescriptor" );
|
||||
if ( element.getAttribute( "version" ) == null )
|
||||
{
|
||||
// TODO: should derive from web.xml - does IDEA do this if omitted?
|
||||
// element.setAttribute( "version", "2.3" );
|
||||
}
|
||||
if ( element.getAttribute( "name" ) == null )
|
||||
{
|
||||
element.setAttribute( "name", "web.xml" );
|
||||
}
|
||||
|
||||
element.setAttribute( "url", getModuleFileUrl( webXml ) );
|
||||
|
||||
element = findElement( component, "webroots" );
|
||||
removeOldElements( element, "root" );
|
||||
|
||||
element = createElement( element, "root" );
|
||||
element.setAttribute( "relative", "/" );
|
||||
element.setAttribute( "url", getModuleFileUrl( warSrc ) );
|
||||
}
|
||||
|
||||
private void addSourceFolder( Xpp3Dom content, String directory, boolean isTest )
|
||||
{
|
||||
if ( !StringUtils.isEmpty( directory ) && new File( directory ).isDirectory() )
|
||||
{
|
||||
Xpp3Dom sourceFolder = createElement( content, "sourceFolder" );
|
||||
sourceFolder.setAttribute( "url", getModuleFileUrl( directory ) );
|
||||
sourceFolder.setAttribute( "isTestSource", Boolean.toString( isTest ) );
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: to FileUtils
|
||||
|
||||
private static String toRelative( File basedir, String absolutePath )
|
||||
{
|
||||
String relative;
|
||||
|
||||
if ( absolutePath.startsWith( basedir.getAbsolutePath() ) )
|
||||
{
|
||||
relative = absolutePath.substring( basedir.getAbsolutePath().length() + 1 );
|
||||
}
|
||||
else
|
||||
{
|
||||
relative = absolutePath;
|
||||
}
|
||||
|
||||
relative = StringUtils.replace( relative, "\\", "/" );
|
||||
|
||||
return relative;
|
||||
}
|
||||
|
||||
private String getModuleFileUrl( String file )
|
||||
{
|
||||
return "file://$MODULE_DIR$/" + toRelative( project.getBasedir(), file );
|
||||
}
|
||||
|
||||
// TODO: some xpath may actually be more appropriate here
|
||||
|
||||
private void removeOldElements( Xpp3Dom content, String name )
|
||||
{
|
||||
Xpp3Dom[] children = content.getChildren();
|
||||
for ( int i = children.length - 1; i >= 0; i-- )
|
||||
{
|
||||
Xpp3Dom child = children[i];
|
||||
if ( child.getName().equals( name ) )
|
||||
{
|
||||
content.removeChild( i );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void removeOldDependencies( Xpp3Dom component )
|
||||
{
|
||||
Xpp3Dom[] children = component.getChildren();
|
||||
for ( int i = children.length - 1; i >= 0; i-- )
|
||||
{
|
||||
Xpp3Dom child = children[i];
|
||||
if ( child.getName().equals( "orderEntry" ) && child.getAttribute( "type" ).equals( "module-library" ) )
|
||||
{
|
||||
component.removeChild( i );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private Xpp3Dom findComponent( Xpp3Dom module, String name )
|
||||
{
|
||||
Xpp3Dom[] components = module.getChildren( "component" );
|
||||
for ( int i = 0; i < components.length; i++ )
|
||||
{
|
||||
if ( name.equals( components[i].getAttribute( "name" ) ) )
|
||||
{
|
||||
return components[i];
|
||||
}
|
||||
}
|
||||
|
||||
Xpp3Dom component = createElement( module, "component" );
|
||||
component.setAttribute( "name", name );
|
||||
return component;
|
||||
}
|
||||
|
||||
private Xpp3Dom findSetting( Xpp3Dom component, String name )
|
||||
{
|
||||
Xpp3Dom[] settings = component.getChildren( "setting" );
|
||||
for ( int i = 0; i < settings.length; i++ )
|
||||
{
|
||||
if ( name.equals( settings[i].getAttribute( "name" ) ) )
|
||||
{
|
||||
return settings[i];
|
||||
}
|
||||
}
|
||||
|
||||
Xpp3Dom setting = createElement( component, "setting" );
|
||||
setting.setAttribute( "name", name );
|
||||
return setting;
|
||||
}
|
||||
|
||||
private static Xpp3Dom createElement( Xpp3Dom module, String name )
|
||||
{
|
||||
Xpp3Dom component = new Xpp3Dom( name );
|
||||
module.addChild( component );
|
||||
return component;
|
||||
}
|
||||
|
||||
private Xpp3Dom findElement( Xpp3Dom component, String name )
|
||||
{
|
||||
Xpp3Dom element = component.getChild( name );
|
||||
|
||||
if ( element == null )
|
||||
{
|
||||
element = createElement( component, name );
|
||||
}
|
||||
return element;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
|
||||
<!--
|
||||
/*
|
||||
* Copyright 2001-2005 The Apache Software Foundation.
|
||||
*
|
||||
* Licensed 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<module version="4" relativePaths="false" type="JAVA_MODULE">
|
||||
<component name="NewModuleRootManager">
|
||||
<exclude-output />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<!-- output url="file://$$MODULE_DIR$$/${maven.build.dest}"/ -->
|
||||
<!-- output-test url="file://$$MODULE_DIR$$/${maven.test.dest}"/ -->
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<!-- sourceFolder url="file://$$MODULE_DIR$$/${pom.build.sourceDirectory}" isTestSource="false"/ -->
|
||||
<!-- sourceFolder url="file://$$MODULE_DIR$$/${pom.build.testSourceDirectory}" isTestSource="true"/ -->
|
||||
</content>
|
||||
<orderEntry type="sourceFolder" forTests="false"/>
|
||||
<!-- Next include each dependency:
|
||||
<orderEntry type="module" module-name="${dep.artifactId}"/>
|
||||
<orderEntry type="module-library">
|
||||
<library name="${dep.artifactId}">
|
||||
<CLASSES>
|
||||
<root url="jar://${lib.path}!/"/>
|
||||
</CLASSES>
|
||||
<JAVADOC/>
|
||||
<SOURCES/>
|
||||
</library>
|
||||
</orderEntry>
|
||||
-->
|
||||
</component>
|
||||
<component name="ModuleRootManager"/>
|
||||
</module>
|
100
maven-plugins/maven-idea-plugin/src/main/resources/templates/default/project.xml
Executable file
100
maven-plugins/maven-idea-plugin/src/main/resources/templates/default/project.xml
Executable file
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
|
||||
<!--
|
||||
/*
|
||||
* Copyright 2001-2005 The Apache Software Foundation.
|
||||
*
|
||||
* Licensed 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<project version="4" relativePaths="false">
|
||||
<component name="ProjectRootManager" version="2" assert-keyword="false"/>
|
||||
<component name="CodeStyleManager">
|
||||
<option name="USE_DEFAULT_CODE_STYLE_SCHEME" value="true"/>
|
||||
<option name="CODE_STYLE_SCHEME" value=""/>
|
||||
</component>
|
||||
<component name="libraryTable"/>
|
||||
<component name="CompilerConfiguration">
|
||||
<option name="DEFAULT_COMPILER" value="Javac"/>
|
||||
<option name="CLEAR_OUTPUT_DIRECTORY" value="false"/>
|
||||
<resourceExtensions>
|
||||
<entry name=".+\.(properties|xml|html)"/>
|
||||
<entry name=".+\.(gif|png|jpeg)"/>
|
||||
</resourceExtensions>
|
||||
</component>
|
||||
<component name="JavacSettings">
|
||||
<option name="DEBUGGING_INFO" value="true"/>
|
||||
<option name="GENERATE_NO_WARNINGS" value="false"/>
|
||||
<option name="DEPRECATION" value="true"/>
|
||||
<option name="ADDITIONAL_OPTIONS_STRING" value=""/>
|
||||
<option name="MAXIMUM_HEAP_SIZE" value="128"/>
|
||||
<option name="USE_GENERICS_COMPILER" value="false"/>
|
||||
</component>
|
||||
<component name="JikesSettings">
|
||||
<option name="DEBUGGING_INFO" value="true"/>
|
||||
<option name="DEPRECATION" value="true"/>
|
||||
<option name="GENERATE_NO_WARNINGS" value="false"/>
|
||||
<option name="GENERATE_MAKE_FILE_DEPENDENCIES" value="false"/>
|
||||
<option name="DO_FULL_DEPENDENCE_CHECK" value="false"/>
|
||||
<option name="IS_INCREMENTAL_MODE" value="false"/>
|
||||
<option name="IS_EMACS_ERRORS_MODE" value="true"/>
|
||||
<option name="ADDITIONAL_OPTIONS_STRING" value=""/>
|
||||
<option name="MAXIMUM_HEAP_SIZE" value="128"/>
|
||||
</component>
|
||||
<component name="AntConfiguration">
|
||||
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false"/>
|
||||
<option name="FILTER_TARGETS" value="false"/>
|
||||
</component>
|
||||
<component name="JavadocGenerationManager">
|
||||
<option name="OUTPUT_DIRECTORY"/>
|
||||
<option name="OPTION_SCOPE" value="protected"/>
|
||||
<option name="OPTION_HIERARCHY" value="false"/>
|
||||
<option name="OPTION_NAVIGATOR" value="false"/>
|
||||
<option name="OPTION_INDEX" value="false"/>
|
||||
<option name="OPTION_SEPARATE_INDEX" value="false"/>
|
||||
<option name="OPTION_USE_1_1" value="false"/>
|
||||
<option name="OPTION_DOCUMENT_TAG_USE" value="false"/>
|
||||
<option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false"/>
|
||||
<option name="OPTION_DOCUMENT_TAG_VERSION" value="false"/>
|
||||
<option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="false"/>
|
||||
<option name="OPTION_DEPRECATED_LIST" value="false"/>
|
||||
<option name="OTHER_OPTIONS"/>
|
||||
<option name="HEAP_SIZE"/>
|
||||
<option name="OPEN_IN_BROWSER" value="false"/>
|
||||
</component>
|
||||
<component name="JUnitProjectSettings">
|
||||
<option name="TEST_RUNNER" value="UI"/>
|
||||
</component>
|
||||
<component name="EntryPointsManager">
|
||||
<entry_points/>
|
||||
</component>
|
||||
<component name="DataSourceManager"/>
|
||||
<component name="ExportToHTMLSettings">
|
||||
<option name="PRINT_LINE_NUMBERS" value="false"/>
|
||||
<option name="OPEN_IN_BROWSER" value="false"/>
|
||||
<option name="OUTPUT_DIRECTORY"/>
|
||||
</component>
|
||||
<component name="ImportConfiguration">
|
||||
<option name="VENDOR"/>
|
||||
<option name="RELEASE_TAG"/>
|
||||
<option name="LOG_MESSAGE"/>
|
||||
<option name="CHECKOUT_AFTER_IMPORT" value="true"/>
|
||||
</component>
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<!-- module filepath="$$PROJECT_DIR$$/${pom.artifactId}.iml"/ -->
|
||||
</modules>
|
||||
</component>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,317 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||
<!--
|
||||
/*
|
||||
* Copyright 2001-2004 The Apache Software Foundation.
|
||||
*
|
||||
* Licensed 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.
|
||||
*/
|
||||
-->
|
||||
|
||||
<project version="4" relativePaths="false">
|
||||
<component name="LvcsProjectConfiguration">
|
||||
<option name="ADD_LABEL_ON_PROJECT_OPEN" value="true"/>
|
||||
<option name="ADD_LABEL_ON_PROJECT_COMPILATION" value="true"/>
|
||||
<option name="ADD_LABEL_ON_FILE_PACKAGE_COMPILATION" value="true"/>
|
||||
<option name="ADD_LABEL_ON_PROJECT_MAKE" value="true"/>
|
||||
<option name="ADD_LABEL_ON_RUNNING" value="true"/>
|
||||
<option name="ADD_LABEL_ON_DEBUGGING" value="true"/>
|
||||
<option name="ADD_LABEL_ON_UNIT_TEST_PASSED" value="true"/>
|
||||
<option name="ADD_LABEL_ON_UNIT_TEST_FAILED" value="true"/>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="MemberChooser.copyJavadoc" value="false"/>
|
||||
<property name="GoToClass.includeLibraries" value="false"/>
|
||||
<property name="MemberChooser.showClasses" value="true"/>
|
||||
<property name="MemberChooser.sorted" value="false"/>
|
||||
<property name="GoToFile.includeJavaFiles" value="false"/>
|
||||
<property name="GoToClass.toSaveIncludeLibraries" value="false"/>
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-4" y="-4" width="1032" height="746" extended-state="6"/>
|
||||
<editor active="false"/>
|
||||
<layout>
|
||||
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="-1"/>
|
||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7"/>
|
||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="0"/>
|
||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="1"/>
|
||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1"/>
|
||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="-1"/>
|
||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6"/>
|
||||
<window_info id="Aspects" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="-1"/>
|
||||
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1"/>
|
||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="2"/>
|
||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2"/>
|
||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="4"/>
|
||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="sliding" type="sliding" visible="false" weight="0.4" order="0"/>
|
||||
<window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2"/>
|
||||
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="0"/>
|
||||
<window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="3"/>
|
||||
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="5"/>
|
||||
</layout>
|
||||
</component>
|
||||
<component name="ErrorTreeViewConfiguration">
|
||||
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false"/>
|
||||
<option name="HIDE_WARNINGS" value="false"/>
|
||||
</component>
|
||||
<component name="StructureViewFactory">
|
||||
<option name="SORT_MODE" value="0"/>
|
||||
<option name="GROUP_INHERITED" value="true"/>
|
||||
<option name="AUTOSCROLL_MODE" value="true"/>
|
||||
<option name="SHOW_FIELDS" value="true"/>
|
||||
<option name="AUTOSCROLL_FROM_SOURCE" value="false"/>
|
||||
<option name="GROUP_GETTERS_AND_SETTERS" value="true"/>
|
||||
<option name="SHOW_INHERITED" value="false"/>
|
||||
<option name="HIDE_NOT_PUBLIC" value="false"/>
|
||||
</component>
|
||||
<component name="ProjectViewSettings">
|
||||
<navigator currentView="ProjectPane" flattenPackages="false" showMembers="false" showStructure="false" autoscrollToSource="false" splitterProportion="0.5"/>
|
||||
<view id="ProjectPane">
|
||||
<expanded_node type="directory" url="file://$PROJECT_DIR$"/>
|
||||
</view>
|
||||
<view id="SourcepathPane"/>
|
||||
<view id="ClasspathPane"/>
|
||||
</component>
|
||||
<component name="Commander">
|
||||
<leftPanel view="Project"/>
|
||||
<rightPanel view="Project"/>
|
||||
<splitter proportion="0.5"/>
|
||||
</component>
|
||||
<component name="AspectsView"/>
|
||||
<component name="SelectInManager"/>
|
||||
<component name="HierarchyBrowserManager">
|
||||
<option name="SHOW_PACKAGES" value="false"/>
|
||||
<option name="IS_AUTOSCROLL_TO_SOURCE" value="false"/>
|
||||
<option name="SORT_ALPHABETICALLY" value="false"/>
|
||||
</component>
|
||||
<component name="TodoView" selected-index="0">
|
||||
<todo-panel id="selected-file">
|
||||
<are-packages-shown value="false"/>
|
||||
<flatten-packages value="false"/>
|
||||
<is-autoscroll-to-source value="true"/>
|
||||
</todo-panel>
|
||||
<todo-panel id="all">
|
||||
<are-packages-shown value="true"/>
|
||||
<flatten-packages value="false"/>
|
||||
<is-autoscroll-to-source value="true"/>
|
||||
</todo-panel>
|
||||
</component>
|
||||
<component name="editorManager"/>
|
||||
<component name="editorHistoryManager"/>
|
||||
<component name="DaemonCodeAnalyzer">
|
||||
<disable_hints/>
|
||||
</component>
|
||||
<component name="InspectionManager">
|
||||
<option name="AUTOSCROLL_TO_SOURCE" value="false"/>
|
||||
<option name="SPLITTER_PROPORTION" value="0.5"/>
|
||||
<profile name="Default"/>
|
||||
</component>
|
||||
<component name="BookmarkManager"/>
|
||||
<component name="DebuggerManager">
|
||||
<line_breakpoints/>
|
||||
<exception_breakpoints>
|
||||
<breakpoint_any>
|
||||
<option name="NOTIFY_CAUGHT" value="true"/>
|
||||
<option name="NOTIFY_UNCAUGHT" value="true"/>
|
||||
<option name="ENABLED" value="false"/>
|
||||
<option name="SUSPEND_VM" value="true"/>
|
||||
<option name="COUNT_FILTER_ENABLED" value="false"/>
|
||||
<option name="COUNT_FILTER" value="0"/>
|
||||
<option name="CONDITION_ENABLED" value="false"/>
|
||||
<option name="CONDITION"/>
|
||||
<option name="LOG_ENABLED" value="false"/>
|
||||
<option name="LOG_EXPRESSION_ENABLED" value="false"/>
|
||||
<option name="LOG_MESSAGE"/>
|
||||
<option name="CLASS_FILTERS_ENABLED" value="false"/>
|
||||
<option name="INVERSE_CLASS_FILLTERS" value="false"/>
|
||||
<option name="SUSPEND_POLICY" value="SuspendAll"/>
|
||||
</breakpoint_any>
|
||||
</exception_breakpoints>
|
||||
<field_breakpoints/>
|
||||
<method_breakpoints/>
|
||||
</component>
|
||||
<component name="DebuggerSettings">
|
||||
<option name="TRACING_FILTERS_ENABLED" value="true"/>
|
||||
<option name="TOSTRING_CLASSES_ENABLED" value="false"/>
|
||||
<option name="VALUE_LOOKUP_DELAY" value="700"/>
|
||||
<option name="DEBUGGER_TRANSPORT" value="0"/>
|
||||
<option name="FORCE_CLASSIC_VM" value="true"/>
|
||||
<option name="HIDE_DEBUGGER_ON_PROCESS_TERMINATION" value="false"/>
|
||||
<option name="SKIP_SYNTHETIC_METHODS" value="true"/>
|
||||
<option name="SKIP_CONSTRUCTORS" value="false"/>
|
||||
<option name="STEP_THREAD_SUSPEND_POLICY" value="SuspendThread"/>
|
||||
<default_breakpoint_settings>
|
||||
<option name="NOTIFY_CAUGHT" value="true"/>
|
||||
<option name="NOTIFY_UNCAUGHT" value="true"/>
|
||||
<option name="WATCH_MODIFICATION" value="true"/>
|
||||
<option name="WATCH_ACCESS" value="true"/>
|
||||
<option name="WATCH_ENTRY" value="true"/>
|
||||
<option name="WATCH_EXIT" value="true"/>
|
||||
<option name="ENABLED" value="true"/>
|
||||
<option name="SUSPEND_VM" value="true"/>
|
||||
<option name="COUNT_FILTER_ENABLED" value="false"/>
|
||||
<option name="COUNT_FILTER" value="0"/>
|
||||
<option name="CONDITION_ENABLED" value="false"/>
|
||||
<option name="CONDITION"/>
|
||||
<option name="LOG_ENABLED" value="false"/>
|
||||
<option name="LOG_EXPRESSION_ENABLED" value="false"/>
|
||||
<option name="LOG_MESSAGE"/>
|
||||
<option name="CLASS_FILTERS_ENABLED" value="false"/>
|
||||
<option name="INVERSE_CLASS_FILLTERS" value="false"/>
|
||||
<option name="SUSPEND_POLICY" value="SuspendAll"/>
|
||||
</default_breakpoint_settings>
|
||||
<filter>
|
||||
<option name="PATTERN" value="com.sun.*"/>
|
||||
<option name="ENABLED" value="true"/>
|
||||
</filter>
|
||||
<filter>
|
||||
<option name="PATTERN" value="java.*"/>
|
||||
<option name="ENABLED" value="true"/>
|
||||
</filter>
|
||||
<filter>
|
||||
<option name="PATTERN" value="javax.*"/>
|
||||
<option name="ENABLED" value="true"/>
|
||||
</filter>
|
||||
<filter>
|
||||
<option name="PATTERN" value="org.omg.*"/>
|
||||
<option name="ENABLED" value="true"/>
|
||||
</filter>
|
||||
<filter>
|
||||
<option name="PATTERN" value="sun.*"/>
|
||||
<option name="ENABLED" value="true"/>
|
||||
</filter>
|
||||
<filter>
|
||||
<option name="PATTERN" value="junit.*"/>
|
||||
<option name="ENABLED" value="true"/>
|
||||
</filter>
|
||||
</component>
|
||||
<component name="CompilerWorkspaceConfiguration">
|
||||
<option name="COMPILE_IN_BACKGROUND" value="false"/>
|
||||
<option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true"/>
|
||||
</component>
|
||||
<component name="RunManager">
|
||||
<option name="SHOW_SETTINGS_BEFORE_RUNNING" value="true"/>
|
||||
<option name="COMPILE_BEFORE_RUNNING" value="true"/>
|
||||
<activeType name="Application"/>
|
||||
<configuration name="<template>" type="Application" default="true" selected="false">
|
||||
<option name="MAIN_CLASS_NAME"/>
|
||||
<option name="VM_PARAMETERS"/>
|
||||
<option name="PROGRAM_PARAMETERS"/>
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
|
||||
</configuration>
|
||||
<configuration name="<template>" type="Applet" default="true" selected="false">
|
||||
<option name="MAIN_CLASS_NAME"/>
|
||||
<option name="HTML_FILE_NAME"/>
|
||||
<option name="HTML_USED" value="false"/>
|
||||
<option name="WIDTH" value="400"/>
|
||||
<option name="HEIGHT" value="300"/>
|
||||
<option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy"/>
|
||||
<option name="VM_PARAMETERS"/>
|
||||
</configuration>
|
||||
<configuration name="<template>" type="JUnit" default="true" selected="false">
|
||||
<option name="PACKAGE_NAME"/>
|
||||
<option name="MAIN_CLASS_NAME"/>
|
||||
<option name="METHOD_NAME"/>
|
||||
<option name="TEST_OBJECT"/>
|
||||
<option name="VM_PARAMETERS"/>
|
||||
<option name="PARAMETERS"/>
|
||||
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"/>
|
||||
<option name="ADDITIONAL_CLASS_PATH"/>
|
||||
</configuration>
|
||||
<configuration name="<template>" type="Remote" default="true" selected="false">
|
||||
<option name="USE_SOCKET_TRANSPORT" value="true"/>
|
||||
<option name="SERVER_MODE" value="false"/>
|
||||
<option name="SHMEM_ADDRESS" value="javadebug"/>
|
||||
<option name="HOST" value="localhost"/>
|
||||
<option name="PORT" value="5005"/>
|
||||
</configuration>
|
||||
<configuration name="<template>" type="WebApp" default="true" selected="false">
|
||||
<WebServerIntegration name=""/>
|
||||
<Host>localhost</Host>
|
||||
<Port>5050</Port>
|
||||
<LaunchServer>false</LaunchServer>
|
||||
</configuration>
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<option name="ACTIVE_VCS_NAME" value=""/> <!-- TODO: CVS value -->
|
||||
</component>
|
||||
<component name="VssConfiguration">
|
||||
<CheckoutOptions>
|
||||
<option name="COMMENT" value=""/>
|
||||
<option name="DO_NOT_GET_LATEST_VERSION" value="false"/>
|
||||
<option name="REPLACE_WRITABLE" value="false"/>
|
||||
<option name="RECURSIVE" value="false"/>
|
||||
</CheckoutOptions>
|
||||
<CheckinOptions>
|
||||
<option name="COMMENT" value=""/>
|
||||
<option name="KEEP_CHECKED_OUT" value="false"/>
|
||||
<option name="RECURSIVE" value="false"/>
|
||||
</CheckinOptions>
|
||||
<AddOptions>
|
||||
<option name="COMMENT" value=""/>
|
||||
<option name="STORE_ONLY_LATEST_VERSION" value="false"/>
|
||||
<option name="CHECK_OUT_IMMEDIATELY" value="false"/>
|
||||
<option name="FILE_TYPE" value="0"/>
|
||||
</AddOptions>
|
||||
<UndocheckoutOptions>
|
||||
<option name="MAKE_WRITABLE" value="false"/>
|
||||
<option name="REPLACE_LOCAL_COPY" value="0"/>
|
||||
<option name="RECURSIVE" value="false"/>
|
||||
</UndocheckoutOptions>
|
||||
<DiffOptions>
|
||||
<option name="IGNORE_WHITE_SPACE" value="false"/>
|
||||
<option name="IGNORE_CASE" value="false"/>
|
||||
</DiffOptions>
|
||||
<GetOptions>
|
||||
<option name="REPLACE_WRITABLE" value="0"/>
|
||||
<option name="MAKE_WRITABLE" value="false"/>
|
||||
<option name="RECURSIVE" value="false"/>
|
||||
</GetOptions>
|
||||
<option name="CLIENT_PATH" value=""/>
|
||||
<option name="SRCSAFEINI_PATH" value=""/>
|
||||
<option name="USER_NAME" value=""/>
|
||||
<option name="PWD" value=""/>
|
||||
<option name="SHOW_CHECKOUT_OPTIONS" value="true"/>
|
||||
<option name="SHOW_ADD_OPTIONS" value="true"/>
|
||||
<option name="SHOW_UNDOCHECKOUT_OPTIONS" value="true"/>
|
||||
<option name="SHOW_DIFF_OPTIONS" value="true"/>
|
||||
<option name="SHOW_GET_OPTIONS" value="true"/>
|
||||
<option name="USE_EXTERNAL_DIFF" value="false"/>
|
||||
<option name="EXTERNAL_DIFF_PATH" value=""/>
|
||||
<option name="REUSE_LAST_COMMENT" value="false"/>
|
||||
<option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
|
||||
<option name="SHOW_CHECKIN_OPTIONS" value="true"/>
|
||||
<option name="LAST_COMMIT_MESSAGE" value=""/>
|
||||
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
|
||||
</component>
|
||||
<component name="CheckinPanelState"/>
|
||||
<component name="WebViewSettings">
|
||||
<webview flattenPackages="false" showMembers="false" autoscrollToSource="false"/>
|
||||
</component>
|
||||
<component name="EjbViewSettings">
|
||||
<EjbView showMembers="false" autoscrollToSource="false"/>
|
||||
</component>
|
||||
<component name="AppServerRunManager"/>
|
||||
<component name="StarteamConfiguration">
|
||||
<option name="SERVER" value=""/>
|
||||
<option name="PORT" value="49201"/>
|
||||
<option name="USER" value=""/>
|
||||
<option name="PASSWORD" value=""/>
|
||||
<option name="PROJECT" value=""/>
|
||||
<option name="VIEW" value=""/>
|
||||
<option name="ALTERNATIVE_WORKING_PATH" value=""/>
|
||||
<option name="PUT_FOCUS_INTO_COMMENT" value="false"/>
|
||||
<option name="SHOW_CHECKIN_OPTIONS" value="true"/>
|
||||
<option name="LAST_COMMIT_MESSAGE" value=""/>
|
||||
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"/>
|
||||
</component>
|
||||
</project>
|
Loading…
Reference in New Issue