cobertura-test-prep/0000755000175000017500000000000011330102014013772 5ustar user03user03cobertura-test-prep/src/0000755000175000017500000000000011330102014014561 5ustar user03user03cobertura-test-prep/src/test/0000755000175000017500000000000011330102014015540 5ustar user03user03cobertura-test-prep/src/test/java/0000755000175000017500000000000011337605045016504 5ustar user03user03cobertura-test-prep/src/test/java/CircleTest.java0000644000175000017500000000127511330102014021372 0ustar user03user03import junit.framework.TestCase; public class CircleTest extends TestCase { private Circle circle; // Intentionally create bug here. public void setUp() { circle = new Circle( 2, 3, 2.5 ); } public void testX() { assertEquals( "Test X", 2, circle.getX() ); } public void testY() { assertEquals( "Test Y", 3, circle.getY() ); } public void testRadius() { assertEquals( "Test radius", 2.5, circle.getRadius(), 0.1 ); } public void testDiameter() { assertEquals( "Test Diameter", 5, circle.getDiameter(), 0.1 ); } public void tearDown() { circle = null; } }cobertura-test-prep/src/main/0000755000175000017500000000000011330102014015505 5ustar user03user03cobertura-test-prep/src/main/java/0000755000175000017500000000000011337605017016450 5ustar user03user03cobertura-test-prep/src/main/java/Circle.java0000644000175000017500000000120611330102014020471 0ustar user03user03public class Circle { private double radius; private int x, y; public Circle( int x, int y, double radius ) { this.x = x; this.y = y; this.radius = radius; } public int getX() { return x; } public int getY() { return y; } public double getRadius() { return radius; } public double getDiameter() { return radius * 2; } public double getArea() { return ( Math.PI * ( radius * radius ) ); } public double getCircumference() { return ( Math.PI * getDiameter() ); } }cobertura-test-prep/pom.xml0000644000175000017500000000346711330102014015321 0ustar user03user03 4.0.0 2.0.4 org.codehaus.mojo.test cobertura-test-prep jar 1.0 Test Prep Project for Maven Cobertura Plugin 2005 carlos Carlos Sanchez carlos@apache.org Java Developer joakime Joakim Erdfelt joakim@erdfelt.net Java Developer -5 junit junit 3.8.1 test org.apache.maven.plugins maven-surefire-plugin 2.3 true org.codehaus.mojo cobertura-maven-plugin pom.xml0000644000175000017500000001340111337604255011424 0ustar user03user03 mojo org.codehaus.mojo 16 4.0.0 2.0.3 cobertura-maven-plugin maven-plugin 2.3 Cobertura Maven Plugin 2005 Cobertura plugin for maven 2. Cobertura is a free Java tool that calculates the percentage of code accessed by tests. It can be used to identify which parts of your Java program are lacking test coverage. The Apache Software License, Version 2.0 http://www.apache.org/licenses/LICENSE-2.0.txt repo JIRA http://jira.codehaus.org/browse/MCOBERTURA joakime Joakim Erdfelt joakim@erdfelt.net Java Developer -5 wgwaltney Will Gwaltney will.gwaltney@sas.com Java Developer fgiust Fabrizio Giustina fgiust@apache.org Developer aheritier Arnaud Heritier aheritier@apache.org Developer Despot +1 org.apache.maven.plugins maven-compiler-plugin 2.0.2 org.apache.maven.plugins maven-dependency-plugin 2.1 org.apache.maven.plugins maven-surefire-plugin 2.3 org.apache.maven.plugins maven-changes-plugin 2.0-beta-3 net.sourceforge.cobertura cobertura 1.9.2 net.sourceforge.cobertura cobertura-runtime 1.9.2 pom urbanophile java-getopt 1.0.9 org.apache.maven maven-artifact 2.0 org.apache.maven maven-plugin-api 2.0 org.apache.maven.reporting maven-reporting-api 2.0 org.apache.maven maven-project 2.0 org.apache.maven.reporting maven-reporting-impl 2.0 org.codehaus.plexus plexus-container-default 1.0-alpha-9 org.codehaus.plexus plexus-utils 1.1 httpunit httpunit 1.6 test junit junit 3.8.1 test org.apache.maven.shared maven-plugin-testing-harness 1.0-beta-1 test scm:svn:http://svn.codehaus.org/mojo/tags/cobertura-maven-plugin-2.3 scm:svn:https://svn.codehaus.org/mojo/tags/cobertura-maven-plugin-2.3 http://svn.codehaus.org/mojo/tags/cobertura-maven-plugin-2.3 src/0000755000175000017500000000000011330102016010654 5ustar user03user03src/test/0000755000175000017500000000000011337605701011653 5ustar user03user03src/test/plugin-configs/0000755000175000017500000000000011330102015014556 5ustar user03user03src/test/plugin-configs/report-empty-src-plugin-config.xml0000644000175000017500000000223011330102015023270 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/report-empty-src/cobertura.ser ${basedir}/target/test-harness/report-empty-src/site/cobertura html src/test/plugin-configs/check-regex-pass-plugin-config.xml0000644000175000017500000000307311330102015023173 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/check/cobertura.ser 50 50 true 50 50 50 50 Circle* 90 80 src/test/plugin-configs/check-halt-plugin-config.xml0000644000175000017500000000255011330102015022044 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/check/cobertura.ser 100 100 true 100 100 100 100 src/test/plugin-configs/check-plugin-config.xml0000644000175000017500000000254211330102015021117 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/check/cobertura.ser 90 80 true 90 80 80 90 src/test/plugin-configs/report-plugin-config.xml0000644000175000017500000000217411330102015021356 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/report/cobertura.ser ${basedir}/target/test-harness/report/site/cobertura html src/test/plugin-configs/instrument-plugin-config.xml0000644000175000017500000000200211330102015022241 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/instrument/cobertura.ser src/test/plugin-configs/check-no-halt-plugin-config.xml0000644000175000017500000000255111330102015022457 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/check/cobertura.ser 100 100 false 100 100 100 100 src/test/plugin-configs/check-regex-fail-plugin-config.xml0000644000175000017500000000307511330102015023142 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/check/cobertura.ser 50 50 true 50 50 50 50 Circle* 100 100 src/test/plugin-configs/instrument-instrumentation-plugin-config.xml0000644000175000017500000000273611330102015025520 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/instrument/cobertura.ser **/*Circle.class **/*Shape.class **/*Square.class **/*NoEdge.class **/*.java **/*.xml src/test/plugin-configs/clean-plugin-config.xml0000644000175000017500000000177111330102015021127 0ustar user03user03 cobertura-maven-plugin ${basedir}/target/test-harness/clean/cobertura.ser src/test/java/0000755000175000017500000000000011330102014012552 5ustar user03user03src/test/java/org/0000755000175000017500000000000011330102014013341 5ustar user03user03src/test/java/org/codehaus/0000755000175000017500000000000011330102014015134 5ustar user03user03src/test/java/org/codehaus/mojo/0000755000175000017500000000000011330102014016100 5ustar user03user03src/test/java/org/codehaus/mojo/cobertura/0000755000175000017500000000000011330102015020067 5ustar user03user03src/test/java/org/codehaus/mojo/cobertura/CoberturaCleanMojoTest.java0000644000175000017500000000247311330102015025316 0ustar user03user03package org.codehaus.mojo.cobertura; /* * Copyright 2001-2006 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 java.io.File; import org.apache.maven.plugin.Mojo; import org.codehaus.plexus.PlexusTestCase; /** * @author Edwin Punzalan */ public class CoberturaCleanMojoTest extends AbstractCoberturaTestCase { public void testClean() throws Exception { Mojo mojo = lookupMojo( "clean", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/clean-plugin-config.xml" ); File dataFile = (File) getVariableValueFromObject( mojo, "dataFile" ); assertTrue( "Test if the ser file has been prepared", dataFile.exists() ); mojo.execute(); assertFalse( "ser file must have been deleted", dataFile.exists() ); } } src/test/java/org/codehaus/mojo/cobertura/stubs/0000755000175000017500000000000011330102015021227 5ustar user03user03src/test/java/org/codehaus/mojo/cobertura/stubs/CheckMavenProjectStub.java0000644000175000017500000000434411330102015026270 0ustar user03user03package org.codehaus.mojo.cobertura.stubs; /* * Copyright 2001-2006 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 java.io.File; import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.Set; import org.apache.maven.artifact.Artifact; import org.apache.maven.model.Build; import org.apache.maven.plugin.testing.stubs.MavenProjectStub; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; /** * @author Edwin Punzalan */ public class CheckMavenProjectStub extends MavenProjectStub { private Build build; public CheckMavenProjectStub() throws IOException { File targetFile = new File( PlexusTestCase.getBasedir() + "/target/test-harness/check/cobertura.ser" ); File serFile = new File( PlexusTestCase.getBasedir() + "/src/test/sources/check.ser" ); FileUtils.copyFile( serFile, targetFile ); } public MavenProject getExecutionProject() { return this; } public Set getDependencyArtifacts() { return Collections.EMPTY_SET; } public Build getBuild() { if ( build == null ) { build = new Build(); build.setDirectory( PlexusTestCase.getBasedir() + "/target/test-harness/check" ); build.setOutputDirectory( PlexusTestCase.getBasedir() + "/target/test-harness/check/classes" ); } return build; } public Artifact getArtifact() { return new ArtifactStub(); } public List getCompileSourceRoots() { return Collections.singletonList( PlexusTestCase.getBasedir() + "/src/test/sources" ); } } src/test/java/org/codehaus/mojo/cobertura/stubs/ArtifactStub.java0000644000175000017500000000367611330102015024501 0ustar user03user03package org.codehaus.mojo.cobertura.stubs; /* * Copyright 2001-2006 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 java.io.File; import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.artifact.handler.DefaultArtifactHandler; /** * @author Edwin Punzalan */ public class ArtifactStub extends org.apache.maven.plugin.testing.stubs.ArtifactStub { private File artifactFile; private String groupId; private String artifactId; private String version; public void setFile( File file ) { artifactFile = file; } public void setGroupId( String groupId ) { this.groupId = groupId; } public String getType() { return "pom"; } public String getGroupId() { return groupId; } public void setArtifactId( String artifactId ) { this.artifactId = artifactId; } public String getArtifactId() { return artifactId; } public ArtifactHandler getArtifactHandler() { return new DefaultArtifactHandler() { public String getLanguage() { return "java"; } }; } public File getFile() { return artifactFile; } public String getVersion() { return version; } public void setVersion( String version ) { this.version = version; } } src/test/java/org/codehaus/mojo/cobertura/stubs/ReportMavenProjectStub.java0000644000175000017500000000377711330102015026537 0ustar user03user03package org.codehaus.mojo.cobertura.stubs; /* * Copyright 2001-2006 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 java.io.File; import java.io.IOException; import java.util.Collections; import java.util.List; import org.apache.maven.model.Build; import org.apache.maven.plugin.testing.stubs.MavenProjectStub; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; /** * @author Edwin Punzalan */ public class ReportMavenProjectStub extends MavenProjectStub { private Build build; public ReportMavenProjectStub() throws IOException { File targetFile = new File( PlexusTestCase.getBasedir() + "/target/test-harness/report/cobertura.ser" ); File serFile = new File( PlexusTestCase.getBasedir() + "/src/test/sources/report.ser" ); FileUtils.copyFile( serFile, targetFile ); } public MavenProject getExecutionProject() { return this; } public Build getBuild() { if ( build == null ) { build = new Build(); build.setDirectory( PlexusTestCase.getBasedir() + "/target/test-harness/report" ); build.setOutputDirectory( PlexusTestCase.getBasedir() + "/target/test-harness/instrument/classes" ); } return build; } public List getCompileSourceRoots() { return Collections.singletonList( PlexusTestCase.getBasedir() + "/src/test/sources" ); } } src/test/java/org/codehaus/mojo/cobertura/stubs/CleanMavenProjectStub.java0000644000175000017500000000233511330102015026273 0ustar user03user03package org.codehaus.mojo.cobertura.stubs; /* * Copyright 2001-2006 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 java.io.File; import java.io.IOException; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; /** * @author Edwin Punzalan */ public class CleanMavenProjectStub extends InstrumentMavenProjectStub { public CleanMavenProjectStub() throws IOException { File targetFile = new File( PlexusTestCase.getBasedir() + "/target/test-harness/clean/cobertura.ser" ); File serFile = new File( PlexusTestCase.getBasedir() + "/src/test/sources/clean.ser" ); FileUtils.copyFile( serFile, targetFile ); } } src/test/java/org/codehaus/mojo/cobertura/stubs/InstrumentMavenProjectStub.java0000644000175000017500000000427611330102015027427 0ustar user03user03package org.codehaus.mojo.cobertura.stubs; /* * Copyright 2001-2006 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 java.io.File; import java.io.IOException; import java.util.Collections; import java.util.List; import java.util.Set; import org.apache.maven.artifact.Artifact; import org.apache.maven.model.Build; import org.apache.maven.plugin.testing.stubs.MavenProjectStub; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.PlexusTestCase; import org.codehaus.plexus.util.FileUtils; /** * @author Edwin Punzalan */ public class InstrumentMavenProjectStub extends MavenProjectStub { private Build build; public InstrumentMavenProjectStub() throws IOException { File classesDir = new File( PlexusTestCase.getBasedir() + "/src/test/classes" ); FileUtils.copyDirectory( classesDir, new File( getBuild().getOutputDirectory() ), "Circle.class", null ); } public MavenProject getExecutionProject() { return this; } public Set getDependencyArtifacts() { return Collections.EMPTY_SET; } public Build getBuild() { if ( build == null ) { build = new Build(); build.setDirectory( PlexusTestCase.getBasedir() + "/target/test-harness/instrument" ); build.setOutputDirectory( PlexusTestCase.getBasedir() + "/target/test-harness/instrument/classes" ); } return build; } public Artifact getArtifact() { return new ArtifactStub(); } public List getCompileSourceRoots() { return Collections.singletonList( PlexusTestCase.getBasedir() + "/src/test/sources" ); } } src/test/java/org/codehaus/mojo/cobertura/stubs/ReportEmptySrcMavenProjectStub.java0000644000175000017500000000362411330102015030215 0ustar user03user03package org.codehaus.mojo.cobertura.stubs; /* * Copyright 2001-2006 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 java.io.File; import java.io.IOException; import java.util.Collections; import java.util.List; import org.apache.maven.model.Build; import org.apache.maven.plugin.testing.stubs.MavenProjectStub; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.PlexusTestCase; /** * @author Fredrik Vraalsen * @author Edwin Punzalan */ public class ReportEmptySrcMavenProjectStub extends MavenProjectStub { private Build build; public ReportEmptySrcMavenProjectStub() throws IOException { File srcDir = new File( PlexusTestCase.getBasedir() + "/target/test-harness/report-empty-src/src/main/java" ); srcDir.mkdirs(); } public MavenProject getExecutionProject() { return this; } public Build getBuild() { if ( build == null ) { build = new Build(); build.setDirectory( PlexusTestCase.getBasedir() + "/target/test-harness/report-empty-src" ); build.setOutputDirectory( PlexusTestCase.getBasedir() + "/target/test-harness/instrument/classes" ); } return build; } public List getCompileSourceRoots() { return Collections.singletonList( PlexusTestCase.getBasedir() + "/src/test/sources" ); } } src/test/java/org/codehaus/mojo/cobertura/CoberturaReportMojoTest.java0000644000175000017500000000430011330102015025536 0ustar user03user03package org.codehaus.mojo.cobertura; /* * Copyright 2001-2006 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 java.io.File; import org.apache.maven.plugin.Mojo; import org.apache.maven.reporting.MavenReport; import org.codehaus.plexus.PlexusTestCase; /** * @author Edwin Punzalan */ public class CoberturaReportMojoTest extends AbstractCoberturaTestCase { public void testReport() throws Exception { Mojo mojo = lookupMojo( "cobertura", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/report-plugin-config.xml" ); setMojoPluginClasspath( mojo ); MavenReport reportMojo = (MavenReport) mojo; assertTrue( "Should be able to generate a report", reportMojo.canGenerateReport() ); assertTrue( "Should be an externale report", reportMojo.isExternalReport() ); mojo.execute(); File outputHtml = new File( reportMojo.getReportOutputDirectory(), reportMojo.getOutputName() + ".html" ); assertTrue( "Test for generated html file", outputHtml.exists() ); } public void testReportEmptySourceDir() throws Exception { Mojo mojo = lookupMojo( "cobertura", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/report-empty-src-plugin-config.xml" ); setMojoPluginClasspath( mojo ); MavenReport reportMojo = (MavenReport) mojo; assertFalse( "Should not be able to generate a report", reportMojo.canGenerateReport() ); } private void setMojoPluginClasspath( Mojo mojo ) throws Exception { setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); } } src/test/java/org/codehaus/mojo/cobertura/AbstractCoberturaTestCase.java0000644000175000017500000001163011330102015026001 0ustar user03user03package org.codehaus.mojo.cobertura; /* * Copyright 2001-2006 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 java.io.File; import java.util.ArrayList; import java.util.List; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.testing.AbstractMojoTestCase; import org.codehaus.mojo.cobertura.stubs.ArtifactStub; /** * Base TestCase for all Cobertura Tests. * * @author Joakim Erdfelt */ public abstract class AbstractCoberturaTestCase extends AbstractMojoTestCase { protected void assertArtifactExists( Artifact artifact ) { if ( artifact == null ) { fail( "Artifact is null." ); } if ( artifact.getFile() == null ) { fail( "Artifact.file is not defined for " + artifact ); } if ( !artifact.getFile().exists() ) { fail( "Artifact " + artifact.getFile().getAbsolutePath() + " file does not exist." ); } } protected List getPluginClasspath() throws Exception { String localRepository = System.getProperty( "localRepository" ); assertNotNull( "System.property(localRepository) should not be null.", localRepository ); List pluginClasspath = new ArrayList(); Artifact artifact; // artifact = new ArtifactStub(); // artifact.setFile( new File( PlexusTestCase.getBasedir() + "/target/classes" ) ); // assertArtifactExists( artifact ); // pluginClasspath.add( artifact ); artifact = new ArtifactStub(); artifact.setGroupId( "net.sourceforge.cobertura" ); artifact.setArtifactId( "cobertura" ); artifact.setVersion( "1.9.1.1" ); artifact.setFile( new File( localRepository + "/net/sourceforge/cobertura/cobertura/1.9.1.1/cobertura-1.9.1.1.jar" ) ); assertArtifactExists( artifact ); pluginClasspath.add( artifact ); artifact = new ArtifactStub(); artifact.setGroupId( "log4j" ); artifact.setArtifactId( "log4j" ); artifact.setVersion( "1.2.9" ); artifact.setFile( new File( localRepository + "/log4j/log4j/1.2.9/log4j-1.2.9.jar" ) ); assertArtifactExists( artifact ); pluginClasspath.add( artifact ); artifact = new ArtifactStub(); artifact.setGroupId( "org.apache.ant" ); artifact.setArtifactId( "ant" ); artifact.setVersion( "1.7.0" ); artifact.setFile( new File( localRepository + "/org/apache/ant/ant/1.7.0/ant-1.7.0.jar" ) ); assertArtifactExists( artifact ); pluginClasspath.add( artifact ); artifact = new ArtifactStub(); artifact.setGroupId( "org.apache.ant" ); artifact.setArtifactId( "ant-launcher" ); artifact.setVersion( "1.7.0" ); artifact.setFile( new File( localRepository + "/org/apache/ant/ant-launcher/1.7.0/ant-launcher-1.7.0.jar" ) ); assertArtifactExists( artifact ); pluginClasspath.add( artifact ); artifact = new ArtifactStub(); artifact.setGroupId( "oro" ); artifact.setArtifactId( "oro" ); artifact.setVersion( "2.0.8" ); artifact.setFile( new File( localRepository + "/oro/oro/2.0.8/oro-2.0.8.jar" ) ); assertArtifactExists( artifact ); pluginClasspath.add( artifact ); artifact = new ArtifactStub(); artifact.setGroupId( "asm" ); artifact.setArtifactId( "asm" ); artifact.setVersion( "3.0" ); artifact.setFile( new File( localRepository + "/asm/asm/3.0/asm-3.0.jar" ) ); assertArtifactExists( artifact ); pluginClasspath.add( artifact ); artifact = new ArtifactStub(); artifact.setGroupId( "asm" ); artifact.setArtifactId( "asm-tree" ); artifact.setVersion( "3.0" ); artifact.setFile( new File( localRepository + "/asm/asm-tree/3.0/asm-tree-3.0.jar" ) ); assertArtifactExists( artifact ); pluginClasspath.add( artifact ); artifact = new ArtifactStub(); artifact.setGroupId( "net.sourceforge.cobertura" ); artifact.setArtifactId( "cobertura-runtime" ); artifact.setVersion( "1.9.1.1" ); artifact.setFile( new File( localRepository + "/net/sourceforge/cobertura/cobertura-runtime/1.9.1.1/cobertura-runtime-1.9.1.1.pom" ) ); assertArtifactExists( artifact ); pluginClasspath.add( artifact ); return pluginClasspath; } } src/test/java/org/codehaus/mojo/cobertura/configuration/0000755000175000017500000000000011330102015022736 5ustar user03user03src/test/java/org/codehaus/mojo/cobertura/configuration/ConfigCheckTest.java0000644000175000017500000000445711330102015026616 0ustar user03user03package org.codehaus.mojo.cobertura.configuration; /* * Copyright 2001-2006 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 java.util.Set; import junit.framework.TestCase; import net.sourceforge.cobertura.ant.Regex; /** * @author Edwin Punzalan */ public class ConfigCheckTest extends TestCase { private ConfigCheck check; protected void setUp() { check = new ConfigCheck(); } public void testAddRegex() { Regex regex = new Regex(); check.addRegex( regex ); Set regexes = check.getRegexes(); assertEquals( 1, regexes.size() ); assertTrue( regexes.contains( regex ) ); } public void testCreateRegex() { Regex regex = check.createRegex(); Set regexes = check.getRegexes(); assertEquals( 1, regexes.size() ); assertTrue( regexes.contains( regex ) ); } public void testBranchRate() { String rate = "50"; check.setBranchRate( rate ); assertEquals( rate, check.getBranchRate() ); } public void testLineRate() { String rate = "50"; check.setLineRate( rate ); assertEquals( rate, check.getLineRate() ); } public void testTotalBranchRate() { String rate = "50"; check.setTotalBranchRate( rate ); assertEquals( rate, check.getTotalBranchRate() ); } public void testTotalLineRate() { String rate = "50"; check.setTotalLineRate( rate ); assertEquals( rate, check.getTotalLineRate() ); } public void testHaltOnFailure() { check.setHaltOnFailure( true ); assertTrue( check.isHaltOnFailure() ); check.setHaltOnFailure( false ); assertFalse( check.isHaltOnFailure() ); } } src/test/java/org/codehaus/mojo/cobertura/CoberturaInstrumentMojoTest.java0000644000175000017500000000735311330102015026446 0ustar user03user03package org.codehaus.mojo.cobertura; /* * Copyright 2001-2006 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 java.io.File; import org.apache.maven.plugin.Mojo; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.logging.SystemStreamLog; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.PlexusTestCase; /** * @author Edwin Punzalan */ public class CoberturaInstrumentMojoTest extends AbstractCoberturaTestCase { private String dataFile; protected void setUp() throws Exception { super.setUp(); dataFile = System.getProperty( "net.sourceforge.cobertura.datafile" ); } protected void tearDown() throws Exception { if ( dataFile != null ) { System.setProperty( "net.sourceforge.cobertura.datafile", dataFile ); } super.tearDown(); } public void testDefault() throws Exception { Mojo mojo = lookupMojo( "instrument", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/instrument-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); mojo.execute(); MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" ); File instrumentedDir = new File( project.getBuild().getOutputDirectory() ); assertTrue( "Test instrumented class exists", new File( instrumentedDir, "Circle.class" ).exists() ); } public void testDebugEnabled() throws Exception { Mojo mojo = lookupMojo( "instrument", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/instrument-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); Log log = new SystemStreamLog() { public boolean isDebugEnabled() { return true; } }; setVariableValueToObject( mojo, "log", log ); mojo.execute(); MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" ); File instrumentedDir = new File( project.getBuild().getOutputDirectory() ); assertTrue( "Test instrumented class exists", new File( instrumentedDir, "Circle.class" ).exists() ); } public void testInstrumentation() throws Exception { Mojo mojo = lookupMojo( "instrument", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/" + "instrument-instrumentation-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); Log log = new SystemStreamLog() { public boolean isDebugEnabled() { return true; } }; setVariableValueToObject( mojo, "log", log ); mojo.execute(); MavenProject project = (MavenProject) getVariableValueFromObject( mojo, "project" ); File instrumentedDir = new File( project.getBuild().getOutputDirectory() ); assertTrue( "Test instrumented class exists", new File( instrumentedDir, "Circle.class" ).exists() ); } } src/test/java/org/codehaus/mojo/cobertura/tasks/0000755000175000017500000000000011330102015021214 5ustar user03user03src/test/java/org/codehaus/mojo/cobertura/tasks/CheckTaskTest.java0000644000175000017500000000245511330102015024565 0ustar user03user03package org.codehaus.mojo.cobertura.tasks; /* * Copyright 2001-2006 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 junit.framework.TestCase; import org.codehaus.mojo.cobertura.configuration.ConfigCheck; /** * @author Edwin Punzalan */ public class CheckTaskTest extends TestCase { private CheckTask task; protected void setUp() throws Exception { task = new CheckTask(); } public void testDataFile() { String dataFile = "path/to/file"; task.setDataFile( dataFile ); assertEquals( dataFile, task.getDataFile() ); } public void testConfig() { ConfigCheck config = new ConfigCheck(); task.setConfig( config ); assertEquals( config, task.getConfig() ); } } src/test/java/org/codehaus/mojo/cobertura/tasks/ReportTaskTest.java0000644000175000017500000000274511330102015025025 0ustar user03user03package org.codehaus.mojo.cobertura.tasks; /* * Copyright 2001-2006 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 java.io.File; import junit.framework.TestCase; /** * @author Edwin Punzalan */ public class ReportTaskTest extends TestCase { private ReportTask task; protected void setUp() throws Exception { task = new ReportTask(); } public void testDataFile() { File dataFile = new File( "path/to/file" ); task.setDataFile( dataFile ); assertEquals( dataFile, task.getDataFile() ); } public void testOutputDir() { File outputDir = new File( "path/to/file" ); task.setOutputDirectory( outputDir ); assertEquals( outputDir, task.getOutputDirectory() ); } public void testOutputFormat() { String format = "format"; task.setOutputFormat( format ); assertEquals( format, task.getOutputFormat() ); } } src/test/java/org/codehaus/mojo/cobertura/tasks/InstrumentTaskTest.java0000644000175000017500000000313411330102015025713 0ustar user03user03package org.codehaus.mojo.cobertura.tasks; /* * Copyright 2001-2006 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 java.io.File; import junit.framework.TestCase; import org.codehaus.mojo.cobertura.configuration.ConfigInstrumentation; /** * @author Edwin Punzalan */ public class InstrumentTaskTest extends TestCase { private InstrumentTask task; protected void setUp() throws Exception { task = new InstrumentTask(); } public void testDataFile() { File dataFile = new File( "path/to/file" ); task.setDataFile( dataFile ); assertEquals( dataFile, task.getDataFile() ); } public void testConfig() { ConfigInstrumentation config = new ConfigInstrumentation(); task.setConfig( config ); assertEquals( config, task.getConfig() ); } public void testDestinationDir() { File destinationDir = new File( "path/to/file" ); task.setDestinationDir( destinationDir ); assertEquals( destinationDir, task.getDestinationDir() ); } } src/test/java/org/codehaus/mojo/cobertura/CoberturaCheckMojoTest.java0000644000175000017500000001155211330102015025307 0ustar user03user03package org.codehaus.mojo.cobertura; /* * Copyright 2001-2006 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 java.io.File; import org.apache.maven.plugin.Mojo; import org.apache.maven.plugin.MojoExecutionException; import org.codehaus.plexus.PlexusTestCase; /** * @author Edwin Punzalan */ public class CoberturaCheckMojoTest extends AbstractCoberturaTestCase { public void testMojo() throws Exception { Mojo mojo = lookupMojo( "check", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/check-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); mojo.execute(); } public void testCheckWithRegexPassing() throws Exception { Mojo mojo = lookupMojo( "check", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/check-regex-pass-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); mojo.execute(); } public void testCheckWithRegexFailing() throws Exception { Mojo mojo = lookupMojo( "check", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/check-regex-fail-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); try { mojo.execute(); fail( "regex should fail at < 100% coverage" ); } catch ( MojoExecutionException e ) { if ( !e.getMessage().equals( "Coverage check failed. See messages above." ) ) { fail( "Unexpected exception thrown" ); } } } public void testCheckFailure() throws Exception { Mojo mojo = lookupMojo( "check", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/check-halt-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); try { mojo.execute(); fail( "Should fail when rates are not satisfied" ); } catch ( MojoExecutionException e ) { if ( !e.getMessage().equals( "Coverage check failed. See messages above." ) ) { fail( "Unexpected exception thrown" ); } } } public void testCheckFailureNoHalt() throws Exception { Mojo mojo = lookupMojo( "check", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/check-no-halt-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); try { mojo.execute(); } catch ( MojoExecutionException e ) { if ( e.getMessage().equals( "Coverage check failed. See messages above." ) ) { fail( "Should fail when rates are not satisfied" ); } else { fail( "Unexpected exception" ); } } } public void testNoCheckParameter() throws Exception { Mojo mojo = lookupMojo( "check", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/check-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); setVariableValueToObject( mojo, "check", null ); try { mojo.execute(); fail( "Should fail on null check parameter" ); } catch ( MojoExecutionException e ) { if ( !e.getMessage().equals( "The Check configuration is missing." ) ) { fail( "Unexpected exception" ); } } } public void testNoDataFileParameter() throws Exception { Mojo mojo = lookupMojo( "check", PlexusTestCase.getBasedir() + "/src/test/plugin-configs/check-plugin-config.xml" ); setVariableValueToObject( mojo, "pluginClasspathList", getPluginClasspath() ); setVariableValueToObject( mojo, "dataFile", new File( PlexusTestCase.getBasedir() + "/no/such/file" ) ); try { mojo.execute(); } catch ( MojoExecutionException e ) { fail( "Should not fail" ); } } } src/main/0000755000175000017500000000000011330102016011600 5ustar user03user03src/main/resources/0000755000175000017500000000000011330102016013612 5ustar user03user03src/main/resources/cobertura-report_de.properties0000644000175000017500000000161011330102016021675 0ustar user03user03# # 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. # report.cobertura.name=Cobertura Testabdeckung report.cobertura.description=Bericht der Cobertura Testabdeckung. src/main/resources/cobertura-report_en.properties0000644000175000017500000000230311330102016021707 0ustar user03user03# # 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. # # NOTE: # This bundle is intentionally empty because English strings are provided by the base bundle via the parent chain. It # must be provided nevertheless such that a request for locale "en" will not erroneously pick up the bundle for the # JVM's default locale (which need not be "en"). See the method javadoc about # ResourceBundle.getBundle(String, Locale, ClassLoader) # for a full description of the lookup strategy. src/main/resources/cobertura-plugin/0000755000175000017500000000000011330102016017074 5ustar user03user03src/main/resources/cobertura-plugin/log4j-info.properties0000644000175000017500000000032111330102016023156 0ustar user03user03log4j.rootLogger=INFO, A1 log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=[cobertura] %-5p [%t] %c - %m%n src/main/resources/cobertura-plugin/log4j-debug.properties0000644000175000017500000000032211330102016023312 0ustar user03user03log4j.rootLogger=DEBUG, A1 log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=[cobertura] %-5p [%t] %c - %m%n src/main/resources/cobertura-plugin/log4j-error.properties0000644000175000017500000000032211330102016023355 0ustar user03user03log4j.rootLogger=ERROR, A1 log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=[cobertura] %-5p [%t] %c - %m%n src/main/resources/META-INF/0000755000175000017500000000000011330102016014752 5ustar user03user03src/main/resources/META-INF/maven/0000755000175000017500000000000011330102016016060 5ustar user03user03src/main/resources/META-INF/maven/lifecycle.xml0000644000175000017500000000116511330102016020544 0ustar user03user03 cobertura process-classes instrument test ${project.build.directory}/generated-classes/cobertura true once src/main/resources/cobertura-report.properties0000644000175000017500000000160311330102016021227 0ustar user03user03# # 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. # report.cobertura.name=Cobertura Test Coverage report.cobertura.description=Cobertura Test Coverage Report. src/main/java/0000755000175000017500000000000011330102015012520 5ustar user03user03src/main/java/org/0000755000175000017500000000000011330102015013307 5ustar user03user03src/main/java/org/codehaus/0000755000175000017500000000000011330102015015102 5ustar user03user03src/main/java/org/codehaus/mojo/0000755000175000017500000000000011330102015016046 5ustar user03user03src/main/java/org/codehaus/mojo/cobertura/0000755000175000017500000000000011337604333020055 5ustar user03user03src/main/java/org/codehaus/mojo/cobertura/AbstractCoberturaMojo.java0000644000175000017500000000576411330102015025152 0ustar user03user03package org.codehaus.mojo.cobertura; /* * 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. */ import java.io.File; import java.util.List; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.project.MavenProject; import org.codehaus.mojo.cobertura.configuration.ConfigCheck; import org.codehaus.mojo.cobertura.configuration.ConfigInstrumentation; import org.codehaus.mojo.cobertura.tasks.AbstractTask; /** * Abstract Base for Cobertura Mojos. * * @author Joakim Erdfelt */ public abstract class AbstractCoberturaMojo extends AbstractMojo { /** * Maven Internal: Project to interact with. * * @parameter expression="${project}" * @required * @readonly */ protected MavenProject project; /** * Maximum memory to pass JVM of Cobertura processes. * * @parameter expression="${cobertura.maxmem}" */ private String maxmem = "64m"; /** *

* The Datafile Location. *

* * @parameter expression="${cobertura.datafile}" default-value="${project.build.directory}/cobertura/cobertura.ser" * @required * @readonly */ protected File dataFile; /** * The Check Configuration. * * @parameter expression="${check}" */ protected ConfigCheck check; /** * The Instrumentation Configuration. * * @parameter expression="${instrumentation}" */ protected ConfigInstrumentation instrumentation; /** * Only output coberura errors, avoid info messages. * * @parameter expression="${quiet}" default-value="false" */ private boolean quiet; /** * Maven Internal: List of artifacts for the plugin. * * @parameter expression="${plugin.artifacts}" * @required * @readonly */ protected List pluginClasspathList; /** * Setup the Task defaults. * * @param task the task to setup. */ public void setTaskDefaults( AbstractTask task ) { task.setLog( getLog() ); task.setPluginClasspathList( pluginClasspathList ); task.setMaxmem( maxmem ); task.setQuiet( quiet ); } } src/main/java/org/codehaus/mojo/cobertura/CoberturaReportMojo.java0000644000175000017500000001763611337604333024704 0ustar user03user03package org.codehaus.mojo.cobertura; /* * 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. */ import java.io.File; import java.util.List; import java.util.Locale; import java.util.ResourceBundle; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.project.MavenProject; import org.apache.maven.reporting.AbstractMavenReport; import org.apache.maven.reporting.MavenReportException; import org.codehaus.doxia.sink.Sink; import org.codehaus.doxia.site.renderer.SiteRenderer; import org.codehaus.mojo.cobertura.tasks.ReportTask; /** * Instruments, Tests, and Generates a Cobertura Report. * * @author Will Gwaltney * @author Joakim Erdfelt * @goal cobertura * @execute phase="test" lifecycle="cobertura" */ public class CoberturaReportMojo extends AbstractMavenReport { /** * The format of the report. (supports 'html' or 'xml'. defaults to 'html') * * @parameter expression="${cobertura.report.format}" * @deprecated */ private String format; /** * The format of the report. (can be 'html' and/or 'xml'. defaults to 'html') * * @parameter */ private String[] formats = new String[] { "html" }; /** * Maximum memory to pass to JVM of Cobertura processes. * * @parameter expression="${cobertura.maxmem}" */ private String maxmem = "64m"; /** *

* The Datafile Location. *

* * @parameter expression="${cobertura.datafile}" default-value="${project.build.directory}/cobertura/cobertura.ser" * @required * @readonly */ protected File dataFile; /** * Maven Internal: List of artifacts for the plugin. * * @parameter expression="${plugin.artifacts}" * @required * @readonly */ protected List pluginClasspathList; /** * The output directory for the report. * * @parameter default-value="${project.reporting.outputDirectory}/cobertura" * @required */ private File outputDirectory; /** * Only output cobertura errors, avoid info messages. * * @parameter expression="${quiet}" default-value="false" * @since 2.1 */ private boolean quiet; /** * Maven Internal: The Doxia Site Renderer. * * @component */ private SiteRenderer siteRenderer; /** * Maven Internal: Project to interact with. * * @parameter expression="${project}" * @required * @readonly */ private MavenProject project; /** * @see org.apache.maven.reporting.MavenReport#getName(java.util.Locale) */ public String getName( Locale locale ) { return getBundle( locale ).getString( "report.cobertura.name" ); } /** * @see org.apache.maven.reporting.MavenReport#getDescription(java.util.Locale) */ public String getDescription( Locale locale ) { return getBundle( locale ).getString( "report.cobertura.description" ); } /** * @see org.apache.maven.reporting.AbstractMavenReport#getOutputDirectory() */ protected String getOutputDirectory() { return outputDirectory.getAbsolutePath(); } /** * @see org.apache.maven.reporting.AbstractMavenReport#getProject() */ protected MavenProject getProject() { return project; } /** * @see org.apache.maven.reporting.AbstractMavenReport#getSiteRenderer() */ protected SiteRenderer getSiteRenderer() { return siteRenderer; } /** * @see org.apache.maven.reporting.MavenReport#generate(org.codehaus.doxia.sink.Sink, java.util.Locale) */ public void generate( Sink sink, Locale locale ) throws MavenReportException { executeReport( locale ); } private void executeReportTask( ReportTask task, String format ) throws MavenReportException { task.setOutputFormat( format ); // execute task try { task.execute(); } catch ( MojoExecutionException e ) { // throw new MavenReportException( "Error in Cobertura Report generation: " + e.getMessage(), e ); // better don't break the build if report is not generated, also due to the sporadic MCOBERTURA-56 getLog().error( "Error in Cobertura Report generation: " + e.getMessage(), e ); } } /** * @see org.apache.maven.reporting.AbstractMavenReport#executeReport(java.util.Locale) */ protected void executeReport( Locale locale ) throws MavenReportException { if ( !canGenerateReport() ) { return; } ReportTask task = new ReportTask(); // task defaults task.setLog( getLog() ); task.setPluginClasspathList( pluginClasspathList ); task.setQuiet( quiet ); // task specifics task.setMaxmem( maxmem ); task.setDataFile( dataFile ); task.setOutputDirectory( outputDirectory ); task.setCompileSourceRoots( getCompileSourceRoots() ); if ( format != null ) { formats = new String[] { format }; } for ( int i = 0; i < formats.length; i++ ) { executeReportTask( task, formats[i] ); } } /** * @see org.apache.maven.reporting.MavenReport#getOutputName() */ public String getOutputName() { return "cobertura/index"; } public boolean isExternalReport() { return true; } public boolean canGenerateReport() { /* * Don't have to check for source directories or java code or the like for report generation. Checks for source * directories or java project classpath existance should only occur in the Instrument Mojo. */ if ( dataFile == null || !dataFile.exists() ) { getLog().info( "Not executing cobertura:report as the cobertura data file (" + dataFile + ") could not be found" ); return false; } else { return true; } } private List getCompileSourceRoots() { return project.getExecutionProject().getCompileSourceRoots(); } /** * @see org.apache.maven.reporting.AbstractMavenReport#setReportOutputDirectory(java.io.File) */ public void setReportOutputDirectory( File reportOutputDirectory ) { if ( ( reportOutputDirectory != null ) && ( !reportOutputDirectory.getAbsolutePath().endsWith( "cobertura" ) ) ) { this.outputDirectory = new File( reportOutputDirectory, "cobertura" ); } else { this.outputDirectory = reportOutputDirectory; } } /** * Gets the resource bundle for the report text. * * @param locale The locale for the report, must not be null. * @return The resource bundle for the requested locale. */ private ResourceBundle getBundle( Locale locale ) { return ResourceBundle.getBundle( "cobertura-report", locale, getClass().getClassLoader() ); } } src/main/java/org/codehaus/mojo/cobertura/CoberturaCheckMojo.java0000644000175000017500000000434511330102015024416 0ustar user03user03package org.codehaus.mojo.cobertura; /* * 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. */ import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.plugin.MojoExecutionException; import org.codehaus.mojo.cobertura.tasks.CheckTask; /** * Check the Last Instrumentation Results. * * @author Joakim Erdfelt * @goal check * @execute phase="test" lifecycle="cobertura" * @phase verify */ public class CoberturaCheckMojo extends AbstractCoberturaMojo { public void execute() throws MojoExecutionException { if ( check == null ) { throw new MojoExecutionException( "The Check configuration is missing." ); } ArtifactHandler artifactHandler = project.getArtifact().getArtifactHandler(); if ( !"java".equals( artifactHandler.getLanguage() ) ) { getLog().info( "Not executing cobertura:instrument as the project is not a Java classpath-capable package" ); } else { if ( !dataFile.exists() ) { getLog().info( "Cannot perform check, instrumentation not performed - skipping." ); } else { CheckTask task = new CheckTask(); setTaskDefaults( task ); task.setConfig( check ); task.setDataFile( dataFile.getAbsolutePath() ); task.execute(); } } } } src/main/java/org/codehaus/mojo/cobertura/CoberturaDatafileDumpMojo.java0000644000175000017500000001003611330102015025732 0ustar user03user03package org.codehaus.mojo.cobertura; /* * 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. */ import java.text.NumberFormat; import java.util.Date; import java.util.Iterator; import net.sourceforge.cobertura.coveragedata.CoverageDataFileHandler; import net.sourceforge.cobertura.coveragedata.PackageData; import net.sourceforge.cobertura.coveragedata.ProjectData; import net.sourceforge.cobertura.util.Header; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; /** * Cobertura Datafile Dump Mojo * * @author Joakim Erdfelt * @version $Id: CoberturaDatafileDumpMojo.java 9908 2009-06-02 19:27:09Z simon.brandhof $ * @goal dump-datafile */ public class CoberturaDatafileDumpMojo extends AbstractCoberturaMojo { public void execute() throws MojoExecutionException, MojoFailureException { if ( ( dataFile == null ) || !dataFile.exists() ) { throw new MojoExecutionException( "Unable to dump nonexistent dataFile [" + dataFile + "]" ); } ProjectData projectData = CoverageDataFileHandler.loadCoverageData( dataFile ); NumberFormat percentage = NumberFormat.getPercentInstance(); NumberFormat integer = NumberFormat.getIntegerInstance(); println( "" ); printProject( projectData, percentage, integer ); Iterator it = projectData.getPackages().iterator(); while ( it.hasNext() ) { PackageData packageData = (PackageData) it.next(); printPackage( percentage, integer, packageData ); } println( "" ); } private void printProject( ProjectData projectData, NumberFormat percentage, NumberFormat integer ) { println( "" ); } private void printPackage( NumberFormat percentage, NumberFormat integer, PackageData packageData ) { println( "" ); } private void println( String msg ) { System.out.println( msg ); } } src/main/java/org/codehaus/mojo/cobertura/CoberturaCleanMojo.java0000644000175000017500000000254611330102015024424 0ustar user03user03package org.codehaus.mojo.cobertura; /* * 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. */ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; /** * Clean up rogue files that cobertura maven plugin is tracking. * * @author Joakim Erdfelt * @goal clean * @phase clean */ public class CoberturaCleanMojo extends AbstractCoberturaMojo { public void execute() throws MojoExecutionException, MojoFailureException { if ( dataFile.exists() ) { dataFile.delete(); } } } src/main/java/org/codehaus/mojo/cobertura/CoberturaInstrumentMojo.java0000644000175000017500000001544511330102015025554 0ustar user03user03package org.codehaus.mojo.cobertura; /* * 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. */ import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.LinkedHashSet; import java.util.Map; import java.util.Properties; import java.util.Set; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.artifact.factory.ArtifactFactory; import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.plugin.MojoExecutionException; import org.codehaus.mojo.cobertura.configuration.ConfigInstrumentation; import org.codehaus.mojo.cobertura.tasks.InstrumentTask; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.IOUtil; /** * Instrument the compiled classes. * * @author Joakim Erdfelt * @goal instrument */ public class CoberturaInstrumentMojo extends AbstractCoberturaMojo { /** * Artifact factory. * * @component */ private ArtifactFactory factory; /** * build up a command line from the parameters and run Cobertura to instrument the code. */ public void execute() throws MojoExecutionException { ArtifactHandler artifactHandler = project.getArtifact().getArtifactHandler(); if ( !"java".equals( artifactHandler.getLanguage() ) ) { getLog().info( "Not executing cobertura:instrument as the project is not a Java classpath-capable package" ); } else { File instrumentedDirectory = new File( project.getBuild().getDirectory(), "generated-classes/cobertura" ); if ( !instrumentedDirectory.exists() ) { instrumentedDirectory.mkdirs(); } // ensure that instrumentation config is set here, not via maven plugin api @required attribute, as this is // not a required object from the pom configuration's point of view. if ( instrumentation == null ) { instrumentation = new ConfigInstrumentation(); } /* ensure that the default includes is set */ if ( instrumentation.getIncludes().isEmpty() ) { instrumentation.addInclude( "**/*.class" ); } File outputDirectory = new File( project.getBuild().getOutputDirectory() ); if ( !outputDirectory.exists() ) { outputDirectory.mkdirs(); } // Copy all of the classes into the instrumentation basedir. try { FileUtils.copyDirectoryStructure( outputDirectory, instrumentedDirectory ); } catch ( IOException e ) { throw new MojoExecutionException( "Unable to prepare instrumentation directory.", e ); } instrumentation.setBasedir( instrumentedDirectory ); // Cobertura requires an existing dir if ( !dataFile.getParentFile().exists() ) { dataFile.getParentFile().mkdirs(); } // Execute the instrumentation task. InstrumentTask task = new InstrumentTask(); setTaskDefaults( task ); task.setConfig( instrumentation ); task.setDestinationDir( instrumentedDirectory ); task.setDataFile( dataFile ); task.execute(); addCoberturaDependenciesToTestClasspath(); // Old, Broken way System.setProperty( "net.sourceforge.cobertura.datafile", dataFile.getPath() ); /* * New, Fixed way. See * https://sourceforge.net/tracker/index.php?func=detail&aid=1543280&group_id=130558&atid=720017 for patch * to Cobertura 1.8 that fixes the datafile location. */ Properties props = new Properties(); props.setProperty( "net.sourceforge.cobertura.datafile", dataFile.getPath() ); File coberturaPropertiesFile = new File( instrumentedDirectory, "cobertura.properties" ); FileOutputStream fos = null; try { fos = new FileOutputStream( coberturaPropertiesFile ); props.store( fos, "Generated by maven-cobertura-plugin for project " + project.getId() ); } catch ( IOException e ) { throw new MojoExecutionException( "Unable to write cobertura.properties file.", e ); } finally { IOUtil.close( fos ); } // Set the instrumented classes to be the new output directory (for other plugins to pick up) project.getBuild().setOutputDirectory( instrumentedDirectory.getPath() ); System.setProperty( "project.build.outputDirectory", instrumentedDirectory.getPath() ); } } private void addCoberturaDependenciesToTestClasspath() throws MojoExecutionException { Map pluginArtifactMap = ArtifactUtils.artifactMapByVersionlessId( pluginClasspathList ); Artifact coberturaArtifact = (Artifact) pluginArtifactMap.get( "net.sourceforge.cobertura:cobertura-runtime" ); if ( coberturaArtifact == null ) { System.out.println( "pluginArtifactMap: " + pluginArtifactMap ); throw new MojoExecutionException( "Couldn't find 'cobertura' artifact in plugin dependencies" ); } coberturaArtifact = artifactScopeToTest( coberturaArtifact ); if ( this.project.getDependencyArtifacts() != null ) { Set set = new LinkedHashSet( this.project.getDependencyArtifacts() ); set.add( coberturaArtifact ); this.project.setDependencyArtifacts( set ); } } private Artifact artifactScopeToTest( Artifact artifact ) { return factory.createArtifact( artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), Artifact.SCOPE_TEST, artifact.getType() ); } } src/main/java/org/codehaus/mojo/cobertura/configuration/0000755000175000017500000000000011330102015022703 5ustar user03user03src/main/java/org/codehaus/mojo/cobertura/configuration/ConfigCheck.java0000644000175000017500000000705311330102015025716 0ustar user03user03package org.codehaus.mojo.cobertura.configuration; /* * 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. */ import java.util.HashSet; import java.util.Set; import net.sourceforge.cobertura.ant.Regex; /** * The Configuration for Check Settings. * * @author Joakim Erdfelt */ public class ConfigCheck { private String branchRate; private boolean haltOnFailure = true; private String lineRate; private Set regexes = new HashSet(); private String totalBranchRate; private String totalLineRate; private String packageBranchRate; private String packageLineRate; public void addRegex( Regex regex ) { this.regexes.add( regex ); } public Regex createRegex() { Regex regex = new Regex(); this.regexes.add( regex ); return regex; } /** * @return Returns the branchRate. */ public String getBranchRate() { return branchRate; } /** * @return Returns the lineRate. */ public String getLineRate() { return lineRate; } /** * @return Returns the regexes. */ public Set getRegexes() { return regexes; } /** * @return Returns the totalBranchRate. */ public String getTotalBranchRate() { return totalBranchRate; } /** * @return Returns the totalLineRate. */ public String getTotalLineRate() { return totalLineRate; } /** * @return Returns the haltOnFailure. */ public boolean isHaltOnFailure() { return haltOnFailure; } /** * @param branchRate The branchRate to set. */ public void setBranchRate( String branchRate ) { this.branchRate = branchRate; } /** * @param haltOnFailure The haltOnFailure to set. */ public void setHaltOnFailure( boolean haltOnFailure ) { this.haltOnFailure = haltOnFailure; } /** * @param lineRate The lineRate to set. */ public void setLineRate( String lineRate ) { this.lineRate = lineRate; } /** * @param regexes The regexes to set. */ public void setRegexes( Set regexes ) { this.regexes = new HashSet( regexes ); } /** * @param totalBranchRate The totalBranchRate to set. */ public void setTotalBranchRate( String totalBranchRate ) { this.totalBranchRate = totalBranchRate; } /** * @param totalLineRate The totalLineRate to set. */ public void setTotalLineRate( String totalLineRate ) { this.totalLineRate = totalLineRate; } public String getPackageBranchRate() { return packageBranchRate; } public String getPackageLineRate() { return packageLineRate; } } src/main/java/org/codehaus/mojo/cobertura/configuration/Regex.java0000644000175000017500000000170611330102015024624 0ustar user03user03package org.codehaus.mojo.cobertura.configuration; /* * 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. */ /** * @author Edwin Punzalan */ public class Regex extends net.sourceforge.cobertura.ant.Regex { } src/main/java/org/codehaus/mojo/cobertura/configuration/ConfigInstrumentation.java0000644000175000017500000001073711330102015030107 0ustar user03user03package org.codehaus.mojo.cobertura.configuration; /* * 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. */ import java.io.File; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** * The Configuration for the Instrumentation. * * @author Joakim Erdfelt */ public class ConfigInstrumentation { private File basedir; private List excludes; private List ignores; private List includes; /** * Construct a new ConfigInstrumentation object. */ public ConfigInstrumentation() { this.includes = new ArrayList(); this.excludes = new ArrayList(); this.ignores = new ArrayList(); this.basedir = new File( System.getProperty( "user.dir" ) ); } /** * Add an Exclude to the underlying list. * * @param exclude the exlude string. */ public void addExclude( String exclude ) { this.excludes.add( exclude ); } /** * Add an Ignore to the underlying list. * * @param ignore the ignore string. */ public void addIgnore( String ignore ) { this.ignores.add( ignore ); } /** * Add an Include ot the underlying list. * * @param include the include string. */ public void addInclude( String include ) { this.includes.add( include ); } /** * @return Returns the basedir. */ public File getBasedir() { return basedir; } /** * Get the Exclude List. * * @return the exlude list. */ public List getExcludes() { return excludes; } /** * Get the Ignore List. * * @return the ignore list. */ public List getIgnores() { return ignores; } /** * Get the Include List. * * @return the include list. */ public List getIncludes() { return includes; } /** * @param basedir The basedir to set. */ public void setBasedir( File basedir ) { this.basedir = basedir; } public String toString() { StringBuffer sb = new StringBuffer(); sb.append( "" ).toString(); } } src/main/java/org/codehaus/mojo/cobertura/tasks/0000755000175000017500000000000011330102015021161 5ustar user03user03src/main/java/org/codehaus/mojo/cobertura/tasks/AbstractTask.java0000644000175000017500000002104611330102015024415 0ustar user03user03package org.codehaus.mojo.cobertura.tasks; /* * 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. */ import java.io.File; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.Collections; import java.util.Iterator; import java.util.List; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.logging.SystemStreamLog; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.cli.CommandLineException; import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; /** * Base Abstract Class for all of the Tasks. * * @author Joakim Erdfelt */ public abstract class AbstractTask { protected CommandLineArguments cmdLineArgs; private Log log; private String maxmem; private List pluginClasspathList; private String taskClass; private boolean quiet; /** * Initialize AbstractTask. * * @param taskClassname the classname for the task. */ protected AbstractTask( String taskClassname ) { taskClass = taskClassname; cmdLineArgs = new CommandLineArguments(); maxmem = "64m"; } /** * Setter for quiet. * * @param quiet The quiet to set. */ public void setQuiet( boolean quiet ) { this.quiet = quiet; } /** * Getter for quiet. * * @return Returns the quiet. */ public boolean isQuiet() { return quiet; } /** * Using the ${project.compileClasspathElements} and the ${plugin.artifacts}, create * a classpath string that is suitable to be used from a forked cobertura process. * * @return the classpath string * @throws MojoExecutionException if the pluginArtifacts cannot be properly resolved to a full system path. */ public String createClasspath() throws MojoExecutionException { StringBuffer cpBuffer = new StringBuffer(); for ( Iterator it = pluginClasspathList.iterator(); it.hasNext(); ) { Artifact artifact = (Artifact) it.next(); try { cpBuffer.append( File.pathSeparator ).append( artifact.getFile().getCanonicalPath() ); } catch ( IOException e ) { throw new MojoExecutionException( "Error while creating the canonical path for '" + artifact.getFile() + "'.", e ); } } return cpBuffer.toString(); } private String getLog4jConfigFile() { String resourceName = "cobertura-plugin/log4j-info.properties"; if ( getLog().isDebugEnabled() ) { resourceName = "cobertura-plugin/log4j-debug.properties"; } if ( quiet ) { resourceName = "cobertura-plugin/log4j-error.properties"; } String path = null; try { File log4jconfigFile = File.createTempFile( "log4j", "config.properties" ); URL log4jurl = this.getClass().getClassLoader().getResource( resourceName ); FileUtils.copyURLToFile( log4jurl, log4jconfigFile ); log4jconfigFile.deleteOnExit(); path = log4jconfigFile.toURL().toExternalForm(); } catch ( MalformedURLException e ) { // ignore } catch ( IOException e ) { // ignore } return path; } public abstract void execute() throws MojoExecutionException; protected int executeJava() throws MojoExecutionException { Commandline cl = new Commandline(); cl.setExecutable( "java" ); cl.createArgument().setValue( "-cp" ); cl.createArgument().setValue( createClasspath() ); String log4jConfig = getLog4jConfigFile(); if ( log4jConfig != null ) { cl.createArgument().setValue( "-Dlog4j.configuration=" + log4jConfig ); } cl.createArgument().setValue( "-Xmx" + maxmem ); cl.createArgument().setValue( taskClass ); if ( cmdLineArgs.useCommandsFile() ) { cl.createArgument().setValue( "--commandsfile" ); try { String commandsFile = cmdLineArgs.getCommandsFile(); cl.createArgument().setValue( commandsFile ); FileUtils.copyFile( new File( commandsFile ), new File( commandsFile + ".bak" ) ); } catch ( IOException e ) { throw new MojoExecutionException( "Unable to obtain CommandsFile location.", e ); } } else { Iterator it = cmdLineArgs.iterator(); while ( it.hasNext() ) { cl.createArgument().setValue( it.next().toString() ); } } CommandLineUtils.StringStreamConsumer stdout = new CommandLineUtils.StringStreamConsumer(); CommandLineUtils.StringStreamConsumer stderr = new CommandLineUtils.StringStreamConsumer(); if ( quiet ) { CommandLineUtils.StringStreamConsumer nullConsumer = new CommandLineUtils.StringStreamConsumer() { public void consumeLine( String line ) { // swallow } }; stdout = nullConsumer; stderr = nullConsumer; } getLog().debug( "Working Directory: " + cl.getWorkingDirectory() ); getLog().debug( "Executing command line:" ); getLog().debug( cl.toString() ); int exitCode; try { exitCode = CommandLineUtils.executeCommandLine( cl, stdout, stderr ); } catch ( CommandLineException e ) { throw new MojoExecutionException( "Unable to execute Cobertura.", e ); } getLog().debug( "exit code: " + exitCode ); String output = stdout.getOutput(); if ( output.trim().length() > 0 ) { getLog().debug( "--------------------" ); getLog().debug( " Standard output from the Cobertura task:" ); getLog().debug( "--------------------" ); getLog().info( output ); getLog().debug( "--------------------" ); } String stream = stderr.getOutput(); if ( stream.trim().length() > 0 ) { getLog().debug( "--------------------" ); getLog().debug( " Standard error from the Cobertura task:" ); getLog().debug( "--------------------" ); getLog().error( stderr.getOutput() ); getLog().debug( "--------------------" ); } return exitCode; } public CommandLineArguments getCmdLineArgs() { return cmdLineArgs; } public Log getLog() { if ( log == null ) { log = new SystemStreamLog(); } return log; } public String getMaxmem() { return maxmem; } /** * @return Returns the pluginClasspathList. */ public List getPluginClasspathList() { return pluginClasspathList; } public void setCmdLineArgs( CommandLineArguments cmdLineArgs ) { this.cmdLineArgs = cmdLineArgs; } public void setLog( Log log ) { this.log = log; } public void setMaxmem( String maxmem ) { this.maxmem = maxmem; } /** * @param pluginClasspathList The pluginClasspathList to set. */ public void setPluginClasspathList( List pluginClasspathList ) { this.pluginClasspathList = Collections.unmodifiableList( pluginClasspathList ); } } src/main/java/org/codehaus/mojo/cobertura/tasks/CheckTask.java0000644000175000017500000000711711330102015023672 0ustar user03user03package org.codehaus.mojo.cobertura.tasks; /* * 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. */ import java.util.Iterator; import org.apache.maven.plugin.MojoExecutionException; import org.codehaus.mojo.cobertura.configuration.ConfigCheck; import org.codehaus.plexus.util.StringUtils; /** * The Check Task. * * @author Joakim Erdfelt */ public class CheckTask extends AbstractTask { private ConfigCheck config; private String dataFile; public CheckTask() { super( "net.sourceforge.cobertura.check.Main" ); } public void execute() throws MojoExecutionException { if ( dataFile != null ) { cmdLineArgs.addArg( "--datafile", dataFile ); } if ( StringUtils.isNotEmpty( config.getBranchRate() ) ) { cmdLineArgs.addArg( "--branch", config.getBranchRate() ); } if ( StringUtils.isNotEmpty( config.getLineRate() ) ) { cmdLineArgs.addArg( "--line", config.getLineRate() ); } if ( StringUtils.isNotEmpty( config.getTotalBranchRate() ) ) { cmdLineArgs.addArg( "--totalbranch", config.getTotalBranchRate() ); } if ( StringUtils.isNotEmpty( config.getTotalLineRate() ) ) { cmdLineArgs.addArg( "--totalline", config.getTotalLineRate() ); } if ( StringUtils.isNotEmpty( config.getPackageBranchRate() ) ) { cmdLineArgs.addArg( "--packagebranch", config.getPackageBranchRate() ); } if ( StringUtils.isNotEmpty( config.getPackageLineRate() ) ) { cmdLineArgs.addArg( "--packageline", config.getPackageLineRate() ); } Iterator iter = config.getRegexes().iterator(); while ( iter.hasNext() ) { cmdLineArgs.addArg( "--regex", iter.next().toString() ); } int returnCode = executeJava(); // Check the return code and print a message if ( returnCode == 0 ) { getLog().info( "All checks passed." ); } else { if ( config.isHaltOnFailure() ) { throw new MojoExecutionException( "Coverage check failed. See messages above." ); } else { getLog().error( "Coverage check failed. See messages above." ); } } } public ConfigCheck getConfig() { return config; } /** * @return Returns the dataFile. */ public String getDataFile() { return dataFile; } public void setConfig( ConfigCheck config ) { this.config = config; } /** * @param dataFile The dataFile to set. */ public void setDataFile( String dataFile ) { this.dataFile = dataFile; } } src/main/java/org/codehaus/mojo/cobertura/tasks/ReportTask.java0000644000175000017500000000707411330102015024132 0ustar user03user03package org.codehaus.mojo.cobertura.tasks; /* * 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. */ import java.io.File; import java.util.Collections; import java.util.Iterator; import java.util.List; import org.apache.maven.plugin.MojoExecutionException; import org.codehaus.plexus.util.StringUtils; /** * The Report Task. * * @author Joakim Erdfelt */ public class ReportTask extends AbstractTask { private File dataFile; private File outputDirectory; private String outputFormat; private List compileSourceRoots; /** * Create ReportTask. */ public ReportTask() { super( "net.sourceforge.cobertura.reporting.Main" ); } public void execute() throws MojoExecutionException { outputDirectory.mkdirs(); for ( Iterator i = compileSourceRoots.iterator(); i.hasNext(); ) { String directory = (String) i.next(); cmdLineArgs.addArg( "--source", directory ); } if ( outputDirectory != null ) { cmdLineArgs.addArg( "--destination", outputDirectory.getAbsolutePath() ); } if ( dataFile != null ) { cmdLineArgs.addArg( "--datafile", dataFile.getAbsolutePath() ); } if ( StringUtils.isNotEmpty( outputFormat ) ) { cmdLineArgs.addArg( "--format", outputFormat ); } int returnCode = executeJava(); // Check the return code and print a message if ( returnCode == 0 ) { getLog().info( "Cobertura Report generation was successful." ); } else { throw new MojoExecutionException( "Unable to generate Cobertura Report for project." ); } } /** * @return Returns the dataFile. */ public File getDataFile() { return dataFile; } /** * @return Returns the outputDirectory. */ public File getOutputDirectory() { return outputDirectory; } /** * @return Returns the outputFormat. */ public String getOutputFormat() { return outputFormat; } /** * @param dataFile The dataFile to set. */ public void setDataFile( File dataFile ) { this.dataFile = dataFile; } /** * @param outputDirectory The outputDirectory to set. */ public void setOutputDirectory( File outputDirectory ) { this.outputDirectory = outputDirectory; } /** * @param outputFormat The outputFormat to set. */ public void setOutputFormat( String outputFormat ) { this.outputFormat = outputFormat; } public void setCompileSourceRoots( List compileSourceRoots ) { this.compileSourceRoots = Collections.unmodifiableList( compileSourceRoots ); } } src/main/java/org/codehaus/mojo/cobertura/tasks/CommandLineArguments.java0000644000175000017500000000505211330102015026102 0ustar user03user03package org.codehaus.mojo.cobertura.tasks; /* * 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. */ import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import net.sourceforge.cobertura.util.CommandLineBuilder; /** * CommandLineArguments allows for arbitraily long command line argument lists. * * @author Joakim Erdfelt */ public class CommandLineArguments { private List args; private boolean useCommandsFile; public CommandLineArguments() { this.args = new ArrayList(); this.useCommandsFile = false; } public void addArg( String arg ) { this.args.add( arg ); } public void addArg( String arg1, String arg2 ) { this.args.add( arg1 ); this.args.add( arg2 ); } public List getArgs() { return this.args; } /** * Generate the Commands file and return the filename to it. * * @return the commands filename. * @throws IOException */ public String getCommandsFile() throws IOException { CommandLineBuilder builder = new CommandLineBuilder(); Iterator it = this.args.iterator(); while ( it.hasNext() ) { builder.addArg( it.next().toString() ); } builder.saveArgs(); return builder.getCommandLineFile(); } public Iterator iterator() { return this.args.iterator(); } /** * @param useCommandsFile The useCommandsFile to set. */ public void setUseCommandsFile( boolean useCommandsFile ) { this.useCommandsFile = useCommandsFile; } /** * @return Returns the useCommandsFile. */ public boolean useCommandsFile() { return useCommandsFile; } } src/main/java/org/codehaus/mojo/cobertura/tasks/InstrumentTask.java0000644000175000017500000001213411330102015025020 0ustar user03user03package org.codehaus.mojo.cobertura.tasks; /* * 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. */ import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.List; import org.apache.maven.plugin.MojoExecutionException; import org.codehaus.mojo.cobertura.configuration.ConfigInstrumentation; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.StringUtils; /** * The Instrument Task. * * @author Joakim Erdfelt */ public class InstrumentTask extends AbstractTask { private ConfigInstrumentation config = null; private File dataFile = null; private File destinationDir = null; /** * Create a new InstrumentTask. */ public InstrumentTask() { super( "net.sourceforge.cobertura.instrument.Main" ); } public void execute() throws MojoExecutionException { /* this task should always use the commands file approach */ cmdLineArgs.setUseCommandsFile( true ); if ( dataFile != null ) { cmdLineArgs.addArg( "--datafile", dataFile.getAbsolutePath() ); } if ( destinationDir != null ) { cmdLineArgs.addArg( "--destination", destinationDir.getAbsolutePath() ); } Iterator it = config.getIgnores().iterator(); while ( it.hasNext() ) { String ignore = (String) it.next(); cmdLineArgs.addArg( "--ignore", ignore ); } String includes = joinCludes( config.getIncludes() ); String excludes = joinCludes( config.getExcludes() ); String defaultExcludes = joinCludes( FileUtils.getDefaultExcludesAsList() ); if ( StringUtils.isNotEmpty( excludes ) ) { excludes += "," + defaultExcludes; } else { excludes = defaultExcludes; } try { if ( getLog().isDebugEnabled() ) { getLog().debug( "Config : " + config ); getLog().debug( "Basedir: " + config.getBasedir() ); getLog().debug( "Include: " + includes ); getLog().debug( "Exclude: " + excludes ); } List filenames = FileUtils.getFileNames( config.getBasedir(), includes, excludes, false ); if ( filenames.isEmpty() ) { getLog().warn( "No files to instrument." ); return; } cmdLineArgs.addArg( "--basedir", config.getBasedir().getAbsolutePath() ); it = filenames.iterator(); while ( it.hasNext() ) { String filename = (String) it.next(); if ( getLog().isDebugEnabled() ) { getLog().debug( "To Instrument: " + filename ); } cmdLineArgs.addArg( filename ); } } catch ( IOException e ) { throw new MojoExecutionException( "Unable to obtain file list from includes/excludes.", e ); } int returnCode = executeJava(); // Check the return code and print a message if ( returnCode == 0 ) { if ( !isQuiet() ) { getLog().info( "Instrumentation was successful." ); } } else { throw new MojoExecutionException( "Unable to instrument project." ); } } public ConfigInstrumentation getConfig() { return config; } public File getDataFile() { return dataFile; } public File getDestinationDir() { return destinationDir; } public String joinCludes( List cludes ) { StringBuffer sb = new StringBuffer(); Iterator it = cludes.iterator(); while ( it.hasNext() ) { String clude = (String) it.next(); sb.append( clude ); if ( it.hasNext() ) { sb.append( "," ); } } return sb.toString(); } public void setConfig( ConfigInstrumentation config ) { this.config = config; } public void setDataFile( File dataFile ) { this.dataFile = dataFile; } public void setDestinationDir( File destinationDir ) { this.destinationDir = destinationDir; } } src/site/0000755000175000017500000000000011330102017011621 5ustar user03user03src/site/apt/0000755000175000017500000000000011330102016012404 5ustar user03user03src/site/apt/examples/0000755000175000017500000000000011330102016014222 5ustar user03user03src/site/apt/examples/report-formats.apt0000644000175000017500000000121511330102016017713 0ustar user03user03 ------ Report Formats ------ Dennis Lundberg ------ 2007-07-23 ------ Report Formats The Cobertura plugin can produce reports in <<>> and <<>> formats. You can even get both is you want to. Here's how you would configure that: +-----+ ... ... org.codehaus.mojo cobertura-maven-plugin html xml +-----+ src/site/apt/usage.apt0000644000175000017500000000544311330102016014224 0ustar user03user03 ------ Usage ------ Joakim Erdfelt ------ Nov 22, 2005 ------ Usage * Basic Configuration The recommended basic configuration is as follows. ------------------- ... ... org.codehaus.mojo cobertura-maven-plugin ------------------- * Configuring {Instrumentation} The plugin has an <<>> configuration element which can be used to customize the instrumentation done within Cobertura. Example: ------------------- ... ... ... org.codehaus.mojo cobertura-maven-plugin com.example.boringcode.* com/example/dullcode/**/*.class com/example/**/*Test.class clean ------------------- * Configuring {Check} The plugin can check the post-testing coverage percentages to ensure a valid level of test coverage. ------------------- ... ... ... org.codehaus.mojo cobertura-maven-plugin 85 85 true 85 85 85 85 com.example.reallyimportant.* 90 80 com.example.boringcode.* 40 30 clean check ------------------- src/site/apt/index.apt0000644000175000017500000000250511330102016014223 0ustar user03user03 ------ Introduction ------ Dennis Lundberg ------ 2007-07-23 ------ Cobertura Maven Plugin This plugin provides the features of {{{http://cobertura.sourceforge.net/}Cobertura}} within the Maven 2 environment. The report generated by this plugin is the result of executing the Cobertura tool against your compiled classes to help you determine how well the unit testing efforts have been, and can then be used to identify which parts of your Java program are lacking test coverage. * Goals Overview ~~ General Information about the goals. * {{{check-mojo.html}cobertura:check}} Check the Last Instrumentation Results. * {{{clean-mojo.html}cobertura:clean}} Clean up rogue files that cobertura maven plugin is tracking. * {{{dump-datafile-mojo.html}cobertura:dump-datafile}} Cobertura Datafile Dump Mojo. * {{{instrument-mojo.html}cobertura:instrument}} Instrument the compiled classes. * {{{cobertura-mojo.html}cobertura:cobertura}} Instruments, Tests, and Generates a Cobertura Report. * Usage Instructions on how to use the Cobertura Maven Plugin can be found on the {{{usage.html}usage page}}. * Examples To provide you with better understanding of some usages of the Cobertura Maven Plugin, you can take a look into the following example: * {{{examples/report-formats.html}Report Formats}} src/site/site.xml0000644000175000017500000000107511330102017013312 0ustar user03user03 src/site/resources/0000755000175000017500000000000011330102016013632 5ustar user03user03src/site/resources/sample-maven-shared-io-report/0000755000175000017500000000000011330102017021402 5ustar user03user03src/site/resources/sample-maven-shared-io-report/frame-sourcefiles.html0000755000175000017500000001147411330102017025715 0ustar user03user03 Coverage Report Classes
All Packages
 
Classes
AbstractResourceInclusionScanner (0%)
ArtifactLocation (100%)
ArtifactLocatorStrategy (100%)
ClasspathResourceLocatorStrategy (100%)
DefaultDownloadManager (95%)
DefaultMessageHolder (45%)
DownloadFailedException (100%)
DownloadManager (N/A)
FileLocation (96%)
FileLocatorStrategy (100%)
InclusionScanException (0%)
Location (N/A)
Locator (100%)
LocatorStrategy (N/A)
MessageHolder (N/A)
MessageLevels (82%)
MessageSink (N/A)
MojoLogSink (0%)
MultiChannelMessageHolder (N/A)
PlexusLoggerSink (0%)
ResourceInclusionScanner (N/A)
SimpleResourceInclusionScanner (0%)
SingleTargetMapping (100%)
SourceMapping (N/A)
StaleResourceScanner (0%)
SuffixMapping (100%)
URLLocation (100%)
URLLocatorStrategy (100%)
src/site/resources/sample-maven-shared-io-report/frame-packages.html0000755000175000017500000000363311330102017025146 0ustar user03user03 Coverage Report
Packages
All
org.apache.maven.shared.io.download
org.apache.maven.shared.io.location
org.apache.maven.shared.io.logging
org.apache.maven.shared.io.scan
org.apache.maven.shared.io.scan.mapping
././@LongLink0000000000000000000000000000015300000000000011564 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.StaleResourceScanner.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.StaleResourceScanne0000755000175000017500000005634311330102017033164 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan.StaleResourceScanner
 
Classes in this File Line Coverage Branch Coverage Complexity
StaleResourceScanner
0%
0/27
0%
0/6
2.5
 
 1  
 package org.apache.maven.shared.io.scan;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2005 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License");
 7  
  * you may not use this file except in compliance with the License.
 8  
  * You may obtain a copy of the License at
 9  
  *
 10  
  *      http://www.apache.org/licenses/LICENSE-2.0
 11  
  *
 12  
  * Unless required by applicable law or agreed to in writing, software
 13  
  * distributed under the License is distributed on an "AS IS" BASIS,
 14  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15  
  * See the License for the specific language governing permissions and
 16  
  * limitations under the License.
 17  
  */
 18  
 
 19  
 import org.apache.maven.shared.io.scan.mapping.SourceMapping;
 20  
 
 21  
 import java.io.File;
 22  
 import java.util.Collections;
 23  
 import java.util.HashSet;
 24  
 import java.util.Iterator;
 25  
 import java.util.List;
 26  
 import java.util.Set;
 27  
 
 28  
 /**
 29  
  * @author jdcasey
 30  
  * @version $Id: org.apache.maven.shared.io.scan.StaleResourceScanner.html 2271 2006-08-22 15:19:41Z joakime $
 31  
  */
 32  
 public class StaleResourceScanner
 33  
     extends AbstractResourceInclusionScanner
 34  
 {
 35  
     private final long lastUpdatedWithinMsecs;
 36  
 
 37  
     private final Set sourceIncludes;
 38  
 
 39  
     private final Set sourceExcludes;
 40  
 
 41  
     // ----------------------------------------------------------------------
 42  
     //
 43  
     // ----------------------------------------------------------------------
 44  
 
 45  
     public StaleResourceScanner()
 46  
     {
 47  0
         this( 0, Collections.singleton( "**/*" ), Collections.EMPTY_SET );
 48  0
     }
 49  
 
 50  
     public StaleResourceScanner( long lastUpdatedWithinMsecs )
 51  
     {
 52  0
         this( lastUpdatedWithinMsecs, Collections.singleton( "**/*" ), Collections.EMPTY_SET );
 53  0
     }
 54  
 
 55  0
     public StaleResourceScanner( long lastUpdatedWithinMsecs, Set sourceIncludes, Set sourceExcludes )
 56  
     {
 57  0
         this.lastUpdatedWithinMsecs = lastUpdatedWithinMsecs;
 58  
 
 59  0
         this.sourceIncludes = sourceIncludes;
 60  
 
 61  0
         this.sourceExcludes = sourceExcludes;
 62  0
     }
 63  
 
 64  
     // ----------------------------------------------------------------------
 65  
     // SourceInclusionScanner Implementation
 66  
     // ----------------------------------------------------------------------
 67  
 
 68  
     public Set getIncludedSources( File sourceDir, File targetDir )
 69  
         throws InclusionScanException
 70  
     {
 71  0
         List srcMappings = getSourceMappings();
 72  
 
 73  0
         if ( srcMappings.isEmpty() )
 74  
         {
 75  0
             return Collections.EMPTY_SET;
 76  
         }
 77  
 
 78  0
         String[] potentialIncludes = scanForSources( sourceDir, sourceIncludes, sourceExcludes );
 79  
 
 80  0
         Set matchingSources = new HashSet();
 81  
 
 82  0
         for ( int i = 0; i < potentialIncludes.length; i++ )
 83  
         {
 84  0
             String path = potentialIncludes[i];
 85  
 
 86  0
             File sourceFile = new File( sourceDir, path );
 87  
 
 88  0
             staleSourceFileTesting: for ( Iterator patternIt = srcMappings.iterator(); patternIt.hasNext(); )
 89  
             {
 90  0
                 SourceMapping mapping = (SourceMapping) patternIt.next();
 91  
 
 92  0
                 Set targetFiles = mapping.getTargetFiles( targetDir, path );
 93  
 
 94  
                 // never include files that don't have corresponding target mappings.
 95  
                 // the targets don't have to exist on the filesystem, but the
 96  
                 // mappers must tell us to look for them.
 97  0
                 for ( Iterator targetIt = targetFiles.iterator(); targetIt.hasNext(); )
 98  
                 {
 99  0
                     File targetFile = (File) targetIt.next();
 100  
 
 101  0
                     if ( !targetFile.exists()
 102  0
                         || ( targetFile.lastModified() + lastUpdatedWithinMsecs < sourceFile.lastModified() ) )
 103  
                     {
 104  0
                         matchingSources.add( sourceFile );
 105  0
                         break staleSourceFileTesting;
 106  
                     }
 107  
                 }
 108  
             }
 109  
         }
 110  
 
 111  0
         return matchingSources;
 112  
     }
 113  
 }
src/site/resources/sample-maven-shared-io-report/cobertura/0000755000175000017500000000000011330102016023367 5ustar user03user03src/site/resources/sample-maven-shared-io-report/cobertura/index.html0000755000175000017500000000000011330102016025355 0ustar user03user03src/site/resources/sample-maven-shared-io-report/images/0000755000175000017500000000000011330102017022647 5ustar user03user03src/site/resources/sample-maven-shared-io-report/images/icon_doc_sml.gif0000755000175000017500000000054311330102017025773 0ustar user03user03GIF89aÕÿÿÿÿœ¸Ñ…©tWpýýþˆœ¼°½ÒÁËÜÑÙæÐØåÕÜèØßê×Þé#.>]y¢[wŸYt›XsšUo•J`\x RjŽDXvt²z’¶ŠŸ¿—ªÅ§·Î©¹Ð¬»Ñ°¾Ó³ÁÕµÂÖ¶ÃÖ½ÉÛ¿ËܾÊÛÁÌÝÂÍÝÇÑàÌÕãÎ×äÒÚæôöùóõø“§ÃŸ±Ê£´Ì¢³ËÇÑßßåíáçïäéðîñõÝäíÜãìâèïöøúúûüÿÿÿ!ù<,€@/µZ,&N($lòrh·˜Î[@À¬W'CH`Fh¬p(i4Ëå’‰8dV£ôñTîmo‚%'€d:5 $M2‚%ŒNd-4*#Nƒ vM.;63 ($ 1N9n‘%/¯M)"0/½¾·BÂÃÄBA;src/site/resources/sample-maven-shared-io-report/images/nw_med_rond.gif0000755000175000017500000000005611330102017025635 0ustar user03user03GIF89a€ÿÿÿÿÿÿ!ù,„©\;src/site/resources/sample-maven-shared-io-report/images/logos/0000755000175000017500000000000011330102016023771 5ustar user03user03src/site/resources/sample-maven-shared-io-report/images/logos/maven-feather.png0000755000175000017500000000553311330102016027232 0ustar user03user03‰PNG  IHDRZ¬a xgAMA± üatIMEÓ:–“¬bKGDÿÿÿ ½§“ pHYs."."ªâÝ’ ØIDAThÞíZPTYýÝM4¡¸Î8怎¡\§TŒ¨¥ŽŠ#IADPaÁ芨ëÎè:cÆÌvÌR–»ˆŠŠ™†$Ó€‚Š`fÌY1žýçUý®²[–;;cºU¯úýûo¿þÿ¼ûλ÷¾–ðI~‘”ÎÙ³g‘žžþVƒDEEáÙ³g8xð îܹ#t‡ÆÍ›7_³åoœ9sæã::: .|«Aúö틇ÂÛÛÛâ˜1cŸŸÿší¢E‹°sçÎO@Ó³W®\‰Õ«WãâÅ‹FÃÄÄD<}úÔx}ÿþ}¤¦¦Š~||<ž?.€>yò$öíÛ‡>}ú`É’%HKK«謬,,_¾ëׯÇ7ĽóçÏ#;;»œ}ff&®\¹òaMpŒ­[· ºwï.è€B½š áããóšGçååaݺuèÒ¥ ÂÂÂpèС׀0`<==±}ûv¬ZµJØ`;"¤£N:áöíÛbâ8ð__æñãÇïÐݺu/§µ³³/ð¦@¿ uä—/_–ËÞÞ¯^½‚»»;’’’„ž+cüøñ¢‡ÜÜ\ÑçJb£½"—¯þ‚Tyõœ+.AÙã2ܾPŠ;—~Áó§ÏÞŽ9r$N:õ«]‘£ ú Aƒ…Ðkýüü„ÎÅÅEPQE!……‡‡‹I9zô¨pŽ,C>–¯Ù†ÃÇõˆŽCæò„™{!ÍÆ‰ÿ‚³«w¡t¿·å QOòïô”)S^3à2/--…““JJJŒz.u//¯·š4PqÉ÷êÕ eee¢ÙÚÚâĉüÿ$=6ýúõô²lÙ2Ì_‘Q˜UgViü%yãˆÜâ¤È–†!U3éU]‘o‚s›öâöå ¿è倶²²Â®]»Ä’|ñâV¬X!ãà   ¡çÆ <êm€nذ¡Ø\)–\>kÖ,£Í¼yóдiSAŠìÙ³G[q%\»vMì)|†Ï>ûÎÎ.ð¬å‹qU'á[ó‰˜eò'DJ£±Cûä‡ã’R¤!ÈÕ9!ÕÚ9A(˜µWOdË4Söÿúøñ㈈ˆÀرcѹsgÑfΜ)€P ú=zš3gޏ7qâDᕳgÏ6F*sçÎEqqñk?)€1b„Øøºví*ƪÈÙ-Z´“ªÈ¶mÛÄ3V:Å±ã ø~á2¸zøÂ¹—3êjêâ m}t5ï o ?Lµœ‚?[†"Ô,Fa—Ü?K®²·;@oã}ëáH šŠ¼ˆm¸‹ónáÙ“¿Ðï’ø¥K—¾‘mIÉylŽÜ [v zÏ~ÄÚNÂVSÌ4óF ;Ô×|ŽzÚ°5ëGKwL2‹ øA;[e°wÈÔ+¹#^þÌ’#ÉÄ™’3rdð j:"ï2å|å…ܰy8s䟸VRˆçÏž¿ÿ@scsvv®4«¬LèõŒý ²÷Bÿ…‡ì¡ŽH”A;¤óÂ’ša± }{|iÚ Õ¥ÂÛ»è:ÁÞtæj}0Ílþ%ÓËÉW¦/™×ÇÈ^ï!O‚‡Ü÷ y"²µƒñSKoüh5‰¼‘6a6ŠÂ6¡ìÞý÷×£ßfr8?óé‘5ȧ8#ÏÔ «OÂꪰ J0þVe¦×œŠ€*ÞhÖGo­³†•Æ í5ÍÑݤÜL1^3 -Æ#Ä"kešùI‰ ZoW Ã.­6êFË|FnÈóö…Áã[6.Çͳ{qùR–¼Qßÿ0®èá%犻§ÂCap ƒä„dÉMŽ></ƒx@¦‰ÃºáXo>kLü.ƒ`êW]oؙ٢½É—h"{}#]C´Õ4E7Éu1LÛ º¯`>\öô¡ˆ–ù=Nöø\Sœ51ÈJAÒ±`œÌÝŽ'~¸@S¸A2ü+-½ C¦ÙÑ+qry²ë E±ƒ²þà†Â֮ȫí&(ægi¸Ü< —'c¯ì¹{L±Sã‹ðjX#{óT3_Œ6…Å2%9›ÙÃYÓ}uÝÐOk G©=FX…ïíþ×~Ø<߻׸áðžˆÛˆ«%Y.Ð=œÅ‹‹‘qä(römG¦¼Ì“ý&ðvÒë¹ Ëê¤k¿ÁÒ†VnÈÑ F¡ÎEææ!H•[’ p¤–ñøp¤iÜ#Çäqò†¹GöæDÙ«ÈñyÒ×rg÷8d'!=ƱÛ}ñ¤¥D@WärzúƒDzùòe²‘ÃÁxd®ÞÄuGâì%HóÒ"æ ¥ÍHd´pCÊøÑÈpðEr7Od‡ ÁÆ éþ~H5I¡K2ç$»„ !f>ôñHÕG!×*ò‹èÊ„ñ;0z>S{V%Ù¸ 8¬žÙqAAH®_¿.uŒŽ”ï°Ïï±ÿäÉ“r¹ÁÍXÔaNOؽ{·È"y­d’ "ÃÜ¿¥áíøð±±±ÂŽåU>“ŽÍ{EEE¢áÂ…rߥg(E¥÷QÞh–4%IBãÆQ§NÑg«Zµª¨]°ú¦ÑhŒúÚµk—+Ñk/^Œš5kmØzöì)êì¯]»¡¡¡¢ßºuër™!ËÔ7jÔHx%##íÛ·/7ž………ÈX•*$ÏX£F ‘ÕªmÛ¶m+²ÐwhåeYÌ騱£¸Öjµd‚C}³fÍ„¾Aƒb©QX£¦ m;¾¸©©)LLLŒ@ó  Zµj077/whÀ ¡ Ó}® ÖQ8éÔµjÕJŒÇ «^½ºø–Ô@ÓÎÒÒRÔØYw'ðÔ±d«.·¾3@ó“““…îÞ½{èСƒÐ7oÞ\p%''ÖÖÖDžÞºuK‰ˮʉ ë# ,€™™™hz>Aãõ´iÓ„3?z*KII:a3dÈãdò»ÇŽv\u,p©ž>}ºàaËâuuëÖß{瀦·ªIÞßß_è  âü´±±z‘øò³V­Z8wî\¹q ¶²24eË–-Âó[¶l)6z§B3¤ŽO¯Wt,ײrH YäJâ=Ž£Í¦>|晲BÕGtï Ðô\µ°\J=W «o ÐÜ4Ù¯_¿~¥õ_WW×r@3ü¢-'‡GaœN‡Í›7‹ûÜŒy­æÛÊ SjŽæJS„õôh½^/ø‘/Ëӵܽ{Wp¶hÊäÉ“…Ž¥Tò.—8)ˆÂM’µsÞ §,l,¿rcVý¨€fhÆž×4‚Í088XÐDE yÈKŽWÀࡃZÆ'ô}Úø—4E¸ù’¢ØÔ“Å>ÇVBÍwèOò¿É¿6úû·"¹UQIEND®B`‚src/site/resources/sample-maven-shared-io-report/images/icon_info_lrg.gif0000755000175000017500000000254711330102017026160 0ustar user03user03GIF89a ÷ÿÿÿýýþùúüøùûÚàëUm“ÑÙæÐØåÕÜèØßê×ÞéÖÝè 'S(Bi+Fm6OsG_ƒH^€H^_|¦]y¢Yt›Vp–Sl‘RkLc…J``}§Xr™RjŽQiOf‰Ne‡Md†H]}b©LbƒI^~e©gƒ¬j…­l‡®mˆ¯o‰°WlŠpаq‹±t²u޳z’¶g|š{“¶~•¸l€˜º€—¹uŠ©x«ƒ™º…›¼zެ†œ¼ŠŸ¿‰ž¾t†¡~‘®w‰¤‹ ¿€“¯¡À”¯£Áz‹¥¤Â’¦Ã…—²|¦Ÿ¹™¬Ç˜«Æ—ªÅ—©Ã¯Éœ®È ¸¡²Ë•¤»¦¶Î¨¸Ï§·Î©¹Ðœª¿¬»Ñ«ºÐ¡®Â±¿Ô°¾Ó²ÀÔ³ÁÕµÂÖ¶ÃÖ§³Å¸ÅؽÉÛ¼ÈÚ¬·È¯ºÊ­¸È¿ËÜÁÌÝÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàÆÐ߸ÁÎËÔâÍÖäÌÕãÎ×äÁÉÕÓÛçÒÚæéíóõ÷úôöùóõø\xŸc€©oƒŸ£¿“§Ã}ަ•©Å”¨Ä¨Šœµš­Çƒ“©“¤¼Ÿ±Ê¤µÍ£´Ì¢³Ë®½Ò¤±ÃºÇÙ¹ÆØ¯ºÉ®¹È³½ËÀÉÕàæîßåíáçïÙÞååêñäéððó÷ïòöîñõ¨µÅÝäíÜãìÛâëçìòæëñìðõëïôêîóÒÙá×Þæâèïñô÷öøúûüýúûüþþþÿÿÿ!ùµ, ÿk H° Áƒ*\ȰáBqôàÉsGΜ:qà´A“æL™1’Ò0Œƒ*­“RÊš5`þ‚…'ŠB8NÒJ)`%K—±þš)j(%ù|Ò©råOv‚…J”ªU¬ÜL:ˆeO§ì4h0!P ª£T±òƒêÓƒtx‚%KÂØ™B¥ÅŠ*¨WDÆ‘5—îŸw÷ŒÂê'Õ§W8ù8èæ'P¡Z9hÐH-ÛT7•2…ƒkKÃSCéõÜ÷¯hSÐ8h õ̪šÖ`b£ÆÕãMœLRÀAŒƒd0S-ªê„»¤:m®€Al*6]#`•Gfs`ôöóTxAdÉ&cÆ&T˜+rÆ>rÇ?R.Ew(hŸF= cÃ&a¿&a»&fÁ-iÅ/hÂ0c¸.jÂ3j»4l¾6i·4sÌ;,JxÊEŸ­–›¤•a¹"`³&_«(rº?°º©àèÚ6X¢T—Y£ ]Ÿ(S’[”(P‰Lq(-O…JvN|!1Knjoc#Ed?P 9=þþüýùºþö°þö±ûð§þò§ùè”ûëšðá•þïžÿç‡ÿèŠÿéÿì—äÌwÞÆtéÑzíÖ~äÝÃиkÁªc͵jÕ½oηp§‡'³—D¼¤\À¨b«i¿©gº¤f  §TžŠX›r•M–€P•…`¡hˆrFmEnG†rJþþþÌÌÌÿÿÿ!ù™,Ü3 H° A‚’ JÔG ˆpÀ ÐÑ6nèø!€ÇBâcçN<…2mpà@€ :4 ´§œ7„2•øÈÓÒ?yâÈ”©‚G ’2`ÁÈ =•RàùqM¤I(¥z4é‚+ZÈh"%“L<^RB "Bx̘’Ç N uà¢Æ’A†1‚Æ2X˜ ÃŽ@ž@Á¢E‰‚ ŒˆpÃÇ‘(W¬l#&Œˆ2!H°ÃI•,^¾”1ƒ&MALc¸ô Ò…Ì5Š;src/site/resources/sample-maven-shared-io-report/images/icon_usergroups_lrg.gif0000755000175000017500000000276011330102016027437 0ustar user03user03GIF89a ÷ÿÿÿÌÌÌÿ燦 ‡ k ¿Ÿ@C¿_e &,2Æ&6à´ºÈ4J¡]hÊ>XN&ÓMgÖ]|Òtfbdb`arIj®z©‘gŽJ2M5=ñó÷ùúüÐØåØßê 'SG]~\wŸRi‹pН‡½ÈÒáõ÷ú–ªÆ£´Ì±ÀÔ¾ËÝ.?Sëïôâèïûüý,0FkD¥Ø•¸ß¬ÏÜÈ“Äv‰¬tN· sÂ?wÇDŒÑa’Ói™ÕrBV©q»;˜ðZ†ÉXŽÌcn²8€»PÜöÈ;{k©3\ƒ;‘Áhgž.Mh2x•[opnFhd’):PnXõöó|}y}~mšš“ŒþþüÿÿþððïÔÔÓýú”ýüÂóð°ýú»éçÂàÚŽýø·áÝ®ú÷Ïøîíå•÷ï¦þö²îé·ˆ‡}þó¨ÐÇŒB@0üùáÿþ÷õæˆþï*&óáþì–Æ¸xýå†ùâ…ûä‡úå‰ÿéçÙžÿóÀäÞÅMD%ÜÄríÕ|àÈuÁ­eóÛ€åÎxƱhûã…÷߃ðØиkȰgØÀpÔ¼nѹlË´iÓ¼nÀ«iÜÄ{§‡'³—DÀ¨b½¥`¹¡^³›[Æ®fĬeªdýùîRQNšƒLª“V”|IŸ‡O‹sC„m@íÉ^T?‰{_wb>;/•{_ëˆ(®o-],¨‚\ÈÅÂârÜtâzê€ë9ë™LÞ“P n@ªxJê­vÚ«€®–€Í¸¥ËaÏiÊeÔmÎlØx%Û€2܇=Û‹HZ<#Ø“YâženM1ƒfM†~w³­¨épÀ\‚> ¡OÆa«XÄdÎr)Ìw6ÓˆOÛ•_Çe¡‚kwmeíãÛ·SºXŽGù'Ãh&¿l4Ê{D¤Ž~®L ¯W"k:¥D Ä€ZÁ¡Ž™9W"œ@_?/§£¡1S…(z!:þ ›àÑÐÇ??øññÀ¿¿þþþýýýøøøñññèèèÚÚÚfffÿÿÿ!ùÿ, ÿÿ H° Áƒ*\È L—2YÊ4¨áBO–òÀ™3`@£M†4 .^Ôä´(dA~ž 8ãåÌ™“p-tôiÓ¢J€âóÔ衎HoÚ)Ò5!µü'ªÑ A…ÈÃeN%„>•D RÅQв£u—3L ‚ºÚ1/y@ŽzäÇh­^ÂXBxŠÑ £m^ú7J“YAvþv<‰ áÞ¾l¨áR (L|¯2”YÐ'š¬:jò4¿S•Bÿùsë'~EYZÄЙNÿå)6$F~± •PѨ‰ŠzÿÁÄh ¨ç>9òj!¨Q—*-ÿr*>û´„:UªÔ©4Ê”-Ó¢P“¨O˜Deú§ïÞ”T­“L?]‘.¹,ƒP?ËX‘Æ6ÑD2ÃÌB -µ¤1?­àâá2ú ÔO6ÔE?çá£E'«¨ââ,Þ¢à?Vã!‚®t:ìÀC þ³Ï¬Èbä‹0Þá-Ç4Ù¤.úhDAÑ# ÞÓI,F^xá1Â3 1ÄÔR‹1ÖXsiäC<ðSt‚Œ,±ÄBK,°ÀRK0Á„9L8ÄTch5íDá¦8à DD±+yÆRKŸ¿ó 0ÀLã)5Ô„#ª8Hàðƒ? Ĭ:ÁJŸ° ÍÌ/½ã‹/Ð@#Í7¼‚ãk2HüðC¤C$qıP¼úË/Áé1Ð4Ó 7Ülà 9Ø’ƒL¬ADD¡„N Ó ­¾S1ßL»Í»ã˜#ï:ë”3ÅÇŠ;®O8ÑG/¸F;mµÛŒ¯9鸣0<ïܳHŒûÄÄýBÀ,o: »<ñÄ“Í?WhqOTDLDQ Å”ÓM7oÜñÇ!¿S AWåó†'gc';ê¨óÎÑï°“MŽç¹$TÓOÿìtH;src/site/resources/sample-maven-shared-io-report/images/icon_arrowwaste1_sml.gif0000755000175000017500000000113611330102017027504 0ustar user03user03GIF89aæÿÿÿÚÞé4WžðòöùúüÒÙæÚà냗¹…™º±¾Ó°½ÒÑÙæÐØåÕÜè×Þé`}§\x Ph‹EYxb©Un“`{¤h„¬j…­l‡®k†­y‘µ˜ºŠŸ¿‰ž¾ˆ½˜«Æ—ªÅ¯É§·Î©¹Ð­¼Ò«ºÐ±¿Ô°¾Ó²ÀÔ³ÁÕµÂÖ¶ÃÖ¼ÈÚ¿ËÜÁÌÝÃÎÞÂÍÝÄÏßÈÒáÇÑàÆÐßËÔâÎ×äóõøc€©š­ÇŸ±Ê®½Ò¹ÆØàæîáçïðó÷îñõÜãìÛâëçìòæëñëïôêîóöøúåããVUU’‘‘«««lllÿÿÿ!ùO,»€O‚ƒ„…‚'!!;< F†‘† 3/6’ž‚)B—A‘KŸO+ 8—17*ªJŸ+?C77D6ªI¸’*5——C%9ªLLƆ* 11,(:ÐLMÓ„)7Ë2#"ÐMàâ å—8C-:ìNï‚'ñG,@¬3´¤I>I úù°aƒU%-ˆ± =n}BàbY=0FÒg(Œ"EÐ ‘‘Õ§0c ;src/site/resources/sample-maven-shared-io-report/images/icon_arrowmembers1_sml.gif0000755000175000017500000000206111330102016030010 0ustar user03user03GIF89a÷ÿÿÿŽ”ùúüÑÙæ×Þé4D[RjŽ4CY!*8˜º‰ž½‹ ¿t…Ÿds‰Ž¢Á¤Â^hw¦¶Îgp~¬»Ñ±¿Ô²ÀÔ½ÉÛ¿ËܾÊÛÃÎÞÄÏßÈÒáÆÐßÍÖäÌÕãÓÛç7H`=Pj•©Åš­ÇºÇÙàæîëïôßãè[jzñô÷YjnY[ZTlXC\A>l*6]#`•Gfs`ôöóTxAdÉ&cÆ&T˜+rÆ>rÇ?R.Ew(hŸF= cÃ&a¿&a»&fÁ-iÅ/hÂ0c¸.jÂ3j»4l¾6i·4sÌ;,JxÊEŸ­–›¤•a¹"`³&_«(rº?°º©àèÚ6X¢T—Y£ ]Ÿ(S’[”(P‰Lq(-O…JvN|!1Knjoc#Ed?P 9=þþüýùºþö°þö±ûð§þò§ùè”ûëšðá•þïžÿç‡ÿèŠÿéÿì—äÌwÞÆtéÑzíÖ~äÝÃиkÁªc͵jÕ½oηp§‡'³—D¼¤\À¨b«i¿©gº¤f  §TžŠX›r•M–€P•…`¡hˆrFmEnG†rJåããVUU’‘‘þþþÌÌÌ«««lllÿÿÿ!ùŸ,ÿ? H° Áƒ*”„HP¢> ‚(P€ Íaã†Î¡ˆ? ƒ@H|ìÜiƒ§H‚8à†í©ç !™‚ Ši` ’H-ýñ“'ŽœA1]ºÄ‰S§NžŠ¬0Rƒ¯ X02HO¥‚˜ª^ÍZR’k"MzD)…Á´XµtÀ+ƒ V´ÑDJ &w;é%(a¤&(Ð "„ÇŒ)Ip¼¸‹Ä€^¸¨±$G!EŒ ñRà2X˜ ÃŽ@ž@Á¢EIëO :@00" G¢\±²Œ˜0¿E„@ð A‚Nªdñò¥Œ4i~Ü4†K*]ÈœQ£hQ@;src/site/resources/sample-maven-shared-io-report/images/icon_doc_lrg.gif0000755000175000017500000000246711330102016025772 0ustar user03user03GIF89a ÷ÿÿÿýýþùúüøùûÚàëÑÙæÐØåÕÜèØßê×ÞéÖÝè]y¢[wŸYt›XsšUo•Sl‘OgŠLc…J`G\|CWua~¨ZuœWq—RjŽQiPh‹Ne‡Md†Ka‚I_H]}DXv?Rm5E\b©Un“LbƒI^~6F]3BXh„¬gƒ«mˆ¯pаrŒ²t²w´z’¶{“¶~•¸–¸˜º€—¹„š»ƒ™º…›¼†œ¼ŠŸ¿‰ž¾ˆ½‹ ¿Ž¢Á¡À¤Â’¦Ã˜«Æ—ªÅ¯Éœ®È¡²Ë¦¶Î¨¸Ï§·Î©¹Ð­¼Ò¬»Ñ«ºÐ±¿Ô°¾Ó²ÀÔ³ÁÕµÂÖ·Ä×¶Ã֏Ũ½ÉÛ¼ÈÚ¿ËܾÊÛÁÌÝÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàÆÐßËÔâÍÖäÌÕãÎ×äÓÛçÒÚæéíóõ÷úôöùóõø^{¤*7Ic€©“§Ã•©Å”¨Äš­ÇŸ±Êž°É¤µÍ£´Ì¢³Ë®½ÒºÇÙ¹ÆØàæîßåíáçïåêñäéððó÷ïòöîñõÝäíÜãìÛâëçìòæëñìðõëïôêîóâèïñô÷öøúûüýúûüþûíÿž—þþþÿÿÿ!ù•, ÿ+ H° Áƒ+A9`à€0#B #æË% v À1¥ A¢ƒE•Œ÷„\ R •%`D åc—8q†DdÅELuP.aIŒŒ˜"ÍDˆä£P£J½ ‹Õ=|fdlJ σ¯`ÃzHñæ Pxlýè5¬[ #Rp3ċڄ\ ˆÙË·/–'yò\Aè.S¢ˆ)I¢$ˆPµ”¶LšL¹re2쀜8¤€ÌÖä€|§:RëÀ‘ÃÆgÚ ªÁ±€H±q4H‘­x?náA¼8qœ;vèÈAP£µA& ½{Ð"5ÎýzA:çiÕ«[¿ÿ>£M ÈŸ„nÓ˜"@ *ïpÅV†/Ž\9ó0]À±U$èÖ#‰Ò‡!,ÆdˆÑ…Y¸‘‘º•ÖÃwª±ælWLÑ@FGð¶H"h—”Æ^l±GSDá„¡#úíÇCË‘¡Äd$" €†Ca|Á|X!…O,GGDÑ)jÈajŽG„d´Ci˜ …WPEL$‘‡t1Ç@t ö¸Ìñàà ±ã!Ú8$t1‡@º•0cN,jEÄ!D’æp !dd `ð@˜HÐ|@(„P (õêk%;src/site/resources/sample-maven-shared-io-report/images/icon_arrowfolder2_sml.gif0000755000175000017500000000207011330102017027633 0ustar user03user03GIF89a÷ÿÿÿÿþ—üø“þú•ýú•ýû•þü–ü÷’ü÷“ùðŽùîùï÷íŒöè‰õèˆæÙ€÷éŠ÷êŠîá…öæˆõå‡ôä‡áÑ{ëÖ~òðèÜÄrï×}íÕ|äÌwâÊvàÈußÇtÜÅsï×~îÖ}ìÔ|éÑzçÏyåÍxåÎxãËwðØÚÅtåÞÆÐ¸kζjÌ´iʲhȰgÁªcÚÂqÖ¾oÔ¼nÓ»mѹl͵j˳iÛÃrÕ½oÓ¼nËÁ åÞÈÁ©b¶ž\´œ[¿§a¾¦a½¥`¼¤`»£_º¢_¸¡^·Ÿ]· ]µ\³›[Æ®fÅ­eĬeëd¢—y©ž€ ˆO¡ŠP­•W«“V©‘U¨T§T¥S¤ŒR£‹R ‰Pœ…N°˜Y®–XŽwE—J•}Iœ„M˜K”|IŸ‡OŒ}\‡oAŒtDˆpB†oA„m@‘yGi=‚j>zb9ya9lY:nV2mU2kT1jZBdM.bM1bM2åããVUU’‘‘××׫««lllÿÿÿ!ù‚,ÿ H°`%H$y2pDN Jœø¥ ª ÄÈ b&Šxã‚T( €@Ài¾L13R"‰ "r– ñãË’+D p0Ñ¥¦Ä3#6`1²Ãƒ è fŸ«X³ò!xeÄ!  @À4\hÈgÏž? ´•à–-nذa‡3nÄøÁe ¸réJ¬r¢ÈŠ~Q„°CÆ‘)Hž[· p48¢F(F˜T c¥ @ ~H"ÆÀ/ž R% :~$Æ–HeŒNˆƒeL9=ŒNTæÉ%_®´ÁƒFúH7rŽ0Ñ'ï5߬!cçzé^ôD1;src/site/resources/sample-maven-shared-io-report/images/newwindow-classic.png0000755000175000017500000000166711330102016027031 0ustar user03user03‰PNG  IHDR Óº&tIMEÔ 8e1 pHYsÁÁÃiTSgAMA± üaPLTE0`€€€ÿÿÿeŠtRNSÿÿ×Ê A+IDATxÚc`bbb€&›‰ L2022"ØÈâxØ0sÁ‚`d€ØÖ‡ZËïïIEND®B`‚src/site/resources/sample-maven-shared-io-report/images/nw_min.gif0000755000175000017500000000006311330102016024626 0ustar user03user03GIF89a‘ÿÿÿÿÿÿ!ù,Œ-!R;src/site/resources/sample-maven-shared-io-report/images/fix.gif0000755000175000017500000000026511330102017024132 0ustar user03user03GIF89a³-ƒ„„H/üƱ8)&#æè騦¨ûýûœrTö¶¦„:$TRTxwv˜˜–´¶·!ù,bÉ9 ½Ô^+â_'n¡¨YE1REãAÐeWÏáÜ®QŠ!{p¯ØãñKÐe×0`!…5 V©J…Å`ÕÍÀÔÐQ7­ ¿¦Ùëý‚ ÷)€ƒ„…;src/site/resources/sample-maven-shared-io-report/images/icon_help_lrg.gif0000755000175000017500000000261211330102016026145 0ustar user03user03GIF89a ÷ÿÿÿüüïþþôþþûÿÿþýûÀúùÞýùºýú¼ÿþîüö´ýø·ýø¸ü÷¸ýø½üøÁüúâûùáúùêýõ®ûô¯ýö±üõ±ûô°þúÓþüêþýóûñ¨ýó«üó­ýøÖüùâÿüæþûåÿþöüí›ûíüð¢øë¡úî¤þõ¾ýöÍüùçùç“ñàùé–ûë™øè˜úëšmb6»©aüä…³¢_ûä‡üæ‰òÜ…øã‰öá‰õáŒ÷äûè“ùæ‘ñßüè–! 1*KB!_T,^S,ZP*OF%SJ'dY0nb5l`4h]3ˆyCi]4‹|E•…K~GˆzDwk<©˜V‰{F–†Mɵh¹¥`¨–WëÓ{äÌwâÊvàÈußÇtÜÅsØÂqϹlÁ­e¼¨b§•W£’UõÝóÛ€ï×~îÖ}ìÔ|èÐzçÐyçÏyåÎxåÍxʵjµ¢_³¡^¯\«™Zª™Y¨–Xúâ„ùá„øàƒöÞ‚ðØéÒ{Ô¿pÓ¾pðÙ'! ;3SI'иkÌ´iʳhȰgÁªc–„MÚÂqÖ¾oÓ»mѹlÏ·k͵j¬™YÙÁq׿pÕ½oÓ¼nưg¥“V¡T+$‹yFÁ©b´œ[²šZ¾¦a¼¤`»£_º¢_¹¡^· ]·Ÿ]‘J}I{HÆ®fÅ­eëd”‚L’€K ˆO­•W«“V©’U©‘U§T¥S£‹R¢ŠQ°˜Y®–X’zG—J“{HxFž†Nœ„M˜K”|I›ƒM™L—€KuD‹sC‰qB…n@xF†oAg<}f;{d:ƒk>|e;x`8t]6r[5{c:w_8nV2qY4ÿÿÿ!ùÕ, ÿ« H° Áƒv¡¦á"I“QªÔÈ$C‡}z”p % 8€Ð A‚ %?|À!ƒ`Hu¬#‚8HØ‚ˆ+~èÙ³çÌ™5·zq‘€B *jH­O=C‰Eƒ¦ªƒŽ*L0 á©U¯bÕz†+>idœä‰hñÐ(2D€#UÚºM“FMRƒ”*ˆr#í# `‚ná5[^lta‰´R$‹žrs¹ øàCm_ÈO¬ŠœIi6nh„ÔA ¬X"'±acŽd1}pÃéÒêà¡-t eF+sþ„†,H›7\¼€ÿéu‘…lÛŸljd%u–#IØÁT)zlEÓÇÏŸJƒH†„tÌ' #ürP"1ì ˜ejDY TÜQÆUbÑ1y‚ofÛGDv…—d1 %<‚Ñ0’ šFdƒ\R†%‚*©s)5n‘œoQ†˜ˆQ$‡™È&ÆÄɈF*×…d‘4r"©¨²‰' 0sÐ-k`ÆÆwá!™QŠI¦(¤$sÐ+GÂÁÅ|‹L"™"@Ž œtòÌAµ¸ÁE|NB‘d¬Lù ¡¶Ür 2ÙâH£rÑ*¬”bÊ'¡Rè-®¼²‹(Ó'E.fg”Ѝ§h2Š©•¾Ë/Ît„Ë!ž¦œƒâŠ*,²$#MGñÂK/ÀãK.¹(sk'•.3 1ÅŒÂ,³Ã`ëŠ0¬~kn3±Ü¢ª¹ìVCÍ,»jÖî·Ó3Ë2óš» 4Í$’¯¹ºDÓQ@;src/site/resources/sample-maven-shared-io-report/images/expanded.gif0000755000175000017500000000006411330102016025130 0ustar user03user03GIF89a€!ù , „j œ´Î;src/site/resources/sample-maven-shared-io-report/images/icon_arrowusergroups2_sml.gif0000755000175000017500000000206411330102017030601 0ustar user03user03GIF89a÷ÿÿÿõ÷ôJ»SÄ SÃAb.i‰VmŒ[™®ŒDCˆY±^·#T£"[–5bŽFI®K¥ /a P¤RŸª²¤¡š@;€%P<} f|T:{:u!=¤¨›†‰|±²­ª­œþþü××Öýùºþö°þö±VNþò¤þò¥þò¦þò§þò¨ÿì•ùè”þîœðá•þïžÕÉŒÿç‡ÿèŠÿéÿì—ÿò¼ÿò¾ÿôÆüöÛÿùßäÌwÞÆtîÖ}êÒ{éÑzíÖ~äÝÃÓ̴иkÁªc͵j˳iÕ½oÓ¼nηp­œhǵxæÕœ¹®‹§‡'³—D¼¤\À¨b«i¿©gº¤fº®Œ¸±ž­•W§T ŒY›ršw“|I˜L•M“}L–€P•…`¡hŒuHˆrFŠtH†rJ…ya‘Š|jZAzTl_KoHwS(QF9Ÿ]ˆOVK?U*êwçvãsÞrÛpßvãzàyÔs¬_ßyÜzêƒâ"ãƒ$`8æˆ*±r4°x>ze¾²¦÷õóálÖl ÏiÚwÛvÙ|'²¡‘¨“ëáØP%ÁZËaÈd}m_š’‹¿W¸R´O¿]‹IJ®KM% ªF¥D Cž<0=ƒ%;7 3 2åããVUU’‘‘ÓÓÓ«««lllÿÿÿ!ùµ,ÿk H° Áƒ",c…É"a)<ØE† 3ªD|5‘3OjbãÆ S ÂrÅaœ,VˆÑÁE‰-\HQ)KVKƒj€ÔPA#Gš#F|Àˆ…§¬Y? ºYäE“^¶PAò#LħO£ \ó%‰0=H9M‘¯³h‰˜ ±4%Ê4I"I*ãέ…À„ ÀñÃçÐ"J‚µ!KîÁ <p!…C„öôôÒʃk)Ѐ„ rî Ê£§‘#Lž L]kA 0høƒ'P¤K–8…"%jâ@2tðða£K›:2u*•*çKˆ1"Ou**…j«V;src/site/resources/sample-maven-shared-io-report/images/icon_arrowusergroups1_sml.gif0000755000175000017500000000206011330102017030574 0ustar user03user03GIF89a÷ÿÿÿõ÷ôJ»SÄ SÃAb.i‰VmŒ[™®ŒDCˆY±^·#T£"[–5bŽFI®K¥ /a P¤RŸª²¤¡š@;€%P<} f|T:{:u!=¤¨›†‰|±²­ª­œþþü××Öýùºþö°þö±VNþò¤þò¥þò¦þò§þò¨ÿì•ùè”þîœðá•þïžÕÉŒÿç‡ÿèŠÿéÿì—ÿò¼ÿò¾ÿôÆüöÛÿùßäÌwÞÆtîÖ}êÒ{éÑzíÖ~äÝÃÓ̴иkÁªc͵j˳iÕ½oÓ¼nηp­œhǵxæÕœ¹®‹§‡'³—D¼¤\À¨b«i¿©gº¤fº®Œ¸±ž­•W§T ŒY›ršw“|I˜L•M“}L–€P•…`¡hŒuHˆrFŠtH†rJ…ya‘Š|jZAzTl_KoHwS(QF9Ÿ]ˆOVK?U*êwçvãsÞrÛpßvãzàyÔs¬_ßyÜzêƒâ"ãƒ$`8æˆ*±r4°x>ze¾²¦÷õóálÖl ÏiÚwÛvÙ|'²¡‘¨“ëáØP%ÁZËaÈd}m_š’‹¿W¸R´O¿]‹IJ®KM% ªF¥D Cž<0=ƒ%;7 3 2åããVUU’‘‘ÓÓÓ«««lllÿÿÿ!ùµ,ÿk H° Áƒ",c…É" #ì"ÊU$dãÄÌ“Zc†Ø¸qÇãÔ`±BŒ.J„ÔháBŠ@X8sê|EP *häHsĈ1¢ |åÊ•,Y³fÑâIÐÍ’ /šìð²… ’a ¾zuªÁ5_’hÓƒ™3aÐ18V*UƒY°@áKS¢L“!’DwÖ]‚@H`Á?|-¢$hPº(ð@À…v ÚÓÐ#HoP*Ѐ„ rî Ê£§‘#Lž ¡\B þà é’%N¡H‰BÉaC†>ÌatiS§Q¦N¥R…²V  F„  ó©N%P¥P­bÕ* ;src/site/resources/sample-maven-shared-io-report/images/folder-closed.gif0000755000175000017500000000033411330102016026062 0ustar user03user03GIF89a³ ™™™‹‹‹zzzÿÿÿìììÌÌÌfffªªª´´´ºººáááÿÿÿ!ù ,‰pÉI«½xªN)KqA€™Ä0Hr@*)âî'RƒAp`ÅA:8B¡ `¬x‰‚b†¢ÑUU( ]JØa (€îN™è mƒwqG `Sc+&t#5‚CE5ZuA7)‘’f‡!)+ ‡qŸ¡z;src/site/resources/sample-maven-shared-io-report/images/icon_help_sml.gif0000755000175000017500000000177311330102016026163 0ustar user03user03GIF89a÷ÿÿÿÿÿþüö´ü÷·þüâüô¯üô°õî­ýúàùï©õì«þøÌþùÔþúÜÈÀŒúôÎþúàþúä‰~K|sHØÈ~ôê´þôÁñÚôÝéÓ{ðÛƒôáùæ‘*$6/KB"bW/aV/H¢‘R£‘S¨–W¨—Wï×}ëÓ{äÌwàÈußÇtÞÆtØÁq¯[õÝòÚñÙï×~îÖ}ìÔ|êÒ{éÑzçÏyæÎyåÎxãËwáÊvÞÇuÞÈuƱhôÜòÚ€íÕ}çÐzáÊwóÜ‚<4dW/rd8~G£SζjʳhȰg»¥`ÚÂqØÀpÒºmйl͵j˳iÀ©cÛÃr׿pÓ¼n4,±™Y´œ[®—XÀ¨b½¥`º¢_·Ÿ]µž\±šZÆ®fÅ­eªdǯg¯—X­•W«“V©‘U§T¥S¤ŒR¢ŠQ ‰P°˜YŽwE—J•}I“{Hž†N–~J”|IŸ‡O›ƒMuD‰qB…n@„m@‘yG{d:ƒk>|e;rZ4x`8t]6jS0nV2qY4iR0X@&ÿÿÿ!ù,Ø5J‚F7pèØ±B‹ÀF6.H( :À¢F` $Xx@aB… AftltÃA„ &ŒÈü@DH 7s4€!„‘"Œ¢À ÄÐàãÄ$?²hÉ#°"2fððÀ¥Ä*Wú”¡   F<¹r [h¤ÈÑ£I’%XÀˆñ"H ,¤TabD /kÚhfÊ+i¢”ù’ΞDçX‚&̘.lÞÈáSgÑÃ;uô¢ã'ÎCƒú>œÝˆD´s ,¤ˆÑì€;src/site/resources/sample-maven-shared-io-report/images/icon_error_lrg.gif0000755000175000017500000000277311330102017026357 0ustar user03user03GIF89a ÷ÿÿÿþþþŠŸ¿Ž ‘ † i c _¨FGŸBC£fg§ w t [ ž¼¹³­¤ ¡ Ÿ – “ Š ‰ ‡ ~ | z r p n f ¶µ¯©§ š  Ž … ‚  y w j  t s g ÆÈ·É!{lZ$&FHÄil®fh¬jm“dfÙ¨ªÄ#¹"¢!Ê)¾!,¼U[áÐÑÌ".Æ$1Ë&2Í,;¹)6ºW`“)Ì1BJL¥-;v!*Û¯´ëáâÏ6H".Ë8KPÑ:Nh']"†-9ä±·¿8KÐAWÆ>RÓCYÍBXDš=L•S]ãÕ×àÓÕÓG^¼@UÓJbF!H"M%ܶ½ÖOiT*ÖPjÖQlÑPj½IaH%£Zh]#0’9L= ×UqÑToÆOi¢[jØXv×YxØZyJ*ÊXvÚ`Ö^~e-<˜E\å¼Ç^*9Ûe‡Öc„ÛhŠÇw޾s‰{:NÛiÐ~—Þo•ŸQl…Ia‹Sn’[z±o•µvž™eˆ·{¤º€ªbƒ¢s™™m’¨}¦«„ªýýþøùûœ«Æ­ÇÑÙæÐØåÙàëîñö[wŸXsšTn“Lc…G\|CWuWq—RjŽPh‹Ne‡Ka‚I_H]}DXvb©_z£[uœ5D[gƒ«q‹±{“¶~•¸—¹„š»ƒ™º…›¼†œ¼‰ž¾ˆ½‹ ¿¡À’¦Ã˜«Æ¯É¡²Ë¨¸Ï§·Î¬»Ñ±¿Ô³ÁÕµÂÖ·Ä׏Ũ½ÉÛ¿ËܾÊÛÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàÆÐßËÔâÍÖäÌÕãÓÛçôöù*7I–ªÅš­ÇŸ±Ê¤µÍ¯¾ÓºÇÙ¹ÆØßåíãèïÛâëçìòêîóñô÷öøúûüýúûü‘3.¢@?›=<ÝÐÐÛÐÐÿÿÿ!ùÿ, ÿÿ H° Áƒ«±ZÅʸ‡†÷-›4„»Ø@€ÇÏÓvêF‚ï@ªüXï3’§.žüWÍc7e8q‚¤wMÌSìfN[IÜ0˜øòÉDÍ#¥>„¢J•ʆ—¶«ïà ;ÙTÀ”`Êå,]º[Ī àê‘ɾ·pãòÓGW3ok1v½4©¯_¿¦—*5j©O¢´1% ²\(L˜,ARd(7™²ìÊm€çÏŒ=Ž<ùP ze¾²¦÷õóálÖl ÏiÚwÛvÙ|'²¡‘¨“ëáØP%ÁZËaÈd}m_š’‹¿W¸R´O¿]‹IJ®KM% ªF¥D Cž<0=ƒ%;7 3 2õõõãããÓÓÓÿÿÿ!ù¶,ßm H° A‚j¶Dá’äà@14N¤¨¡¥`œ)k¨ØBƒDÇ<° ´“£‹3>Â<9’ÃÅ‹+ßɱÂF7L– ‘1ÃÊÀ9PŒÄòc ˜,Mˆ˜!‡Œ“/e‚”HÃÆL%½t©¤Ö'Gž0=jtI`‚\8PgP F2B$A`P±gQ"@‚ QªDg &P¸Ã‘Ÿ?’&u¥ˆ„ 2l ÔÇ%N›B™Juª >€À‰(Q¨V±rõÊ–‰!HˆÈCJ¦RªZÁŠ%+ ;src/site/resources/sample-maven-shared-io-report/images/newwindow.png0000755000175000017500000000033411330102017025401 0ustar user03user03‰PNG  IHDR Óº&gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe< PLTEuuu™ÿÿÿÿÿÿ€8ÉÙtRNSÿÿÿ@*©ôFIDATxÚb`fff„f€b±™@€‘ €€Æ „8@!³™ @`6Ô€±L€Ø& ±´Â^IEND®B`‚src/site/resources/sample-maven-shared-io-report/images/sw_med_rond.gif0000755000175000017500000000005611330102016025641 0ustar user03user03GIF89a€ÿÿÿÿÿÿ!ù,Dn˜ÀP;src/site/resources/sample-maven-shared-io-report/images/blank.png0000755000175000017500000000022011330102017024441 0ustar user03user03‰PNG  IHDRÎ Ö!tIMEÐ +‰Tº pHYs ð ðB¬4˜PLTEÿÿÿ¥ÙŸÝtRNSÿå·0JIDATxÚcøÿÿ¾{-áý×=KIEND®B`‚src/site/resources/sample-maven-shared-io-report/images/nw_med.gif0000755000175000017500000000006011330102016024605 0ustar user03user03GIF89a€ÿÿÿÿÿÿ!ù,„aÁÛÌ ;src/site/resources/sample-maven-shared-io-report/images/external.png0000755000175000017500000000034611330102016025204 0ustar user03user03‰PNG  IHDR Óº&gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe< PLTEuuuÿÿÿ™ÿÿÿÑðPtRNSÿÿÿ@*©ôPIDATxÚb`&& @ P6#@ `ÀÄÄäX˜Ć2™Ê« ›‰d@AÔ3ƒ (± *‡½ÜtIEND®B`‚src/site/resources/sample-maven-shared-io-report/images/file.gif0000755000175000017500000000023011330102016024252 0ustar user03user03GIF89a ³ ÌÌÌàààÿÿÿéé鯯¯îîî333™™™‰‰‰ÿÿÿ!ù , EHr#iÉD°p ø$€(1¬¬‰Ü6°­…Hƒ`°¸ Hánr “Ë lúÜI§ÔÂàŠÅr»°‹aL.";src/site/resources/sample-maven-shared-io-report/images/none.png0000755000175000017500000000166211330102017024324 0ustar user03user03‰PNG  IHDRóŒ§ágAMA±Ž|ûQ“ cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFPLTEÿÿÿÿÿÿße¯ tRNSÿå·0J pHYs  šœIDATc`„i”2ag~IEND®B`‚src/site/resources/sample-maven-shared-io-report/images/product_logo.gif0000755000175000017500000000125011330102016026036 0ustar user03user03GIF89aгÿÿÿ±ÀÑßåì3f5]†¥¼¿ÌÙïòõu‘¬¦¸ÉÏÙâÿÿÿ!ù ,ŠÿÈI«½8ëÍ»ÿ`(Ždižhª®,™A°m}/Ï…ƒ˜0€HølŠ¡’v$é”1cS„*'œ¡‡J¥‰€tš ÆãÂâ{2DSO¦„Kî —½ÈMBcuTwM}‚%O k2 {B“10b/g[‘n1{f ˆ£–V&^¢ˆ¦Pr“•—fbOCh ÃBÅšxµÄCÈJ&ÂJ¤Îš1̼¾P à š±[g±›Íz F¦ê AåfÛY€š#äO®ß$„cC`—L=Ììé“ëD—<¢ƒí‹ÎÿôðÂŒI QÆ àî¡T,»Y8S„&O`{Ó‚]FM0cLnÁ%)˜Òƒ®é£G;0ÀmR-z”ÆøÃ‚›ÊY&])t‚G !­pÓY!m¥iE8ñ¬ÑgP eÇÎ*{4i6YCêúµÐG]Óo •9‹"ë_QN¶•ùr‚»˜ñ,W®Àø·Á‘nìµ²‚O,KS$‰»s+f?ZOX-\T š0MÀd툆ãôhºœ(i…‚€çLž¡./UeV×5¾sÈånÔ@bžUËдÝ1«¶ÐÑvçÏht Сk°žlO®%D³•Um¦Mó…˜Ö ¡ÀMö'A„ÓáwuLõ”Eªì€I:C aì}2G(°Ü@Õ„1 "$Ï56-#-'‚>=88Bׄ2ÚÈ014<+ Ñùh÷.^¤( œQãÃ*XÚ>Ì@Gh B/2*,)FI"!Prkœ¼´¢À¸j•†„¬œtœ‹¢Å²FcOƒ­7G;ÅÖÈÈ£¬Ö©·Û´¸ß²2B.²á¥³â¦·ã«¸ä¬¸ä­ºå¯¼å±Â€¶ã©²à¢²à£œÎˆ¬Þ˜«Ü™©Ù—«Û—]•BÎ…¢Ô‹©Û‘Í„­Õ—]”>¡Ô„çñሻf“Çr¿mˆ¶jÐæÂøûöbœ7Jw*U‡0WŠ2•ÑiÔäÈmª;Ag$r³?o¬=ež8fž8b›7ZŽ2YŠ1S‚.Jt)Qy1‰ËW…½Yu¤Qe‹FcˆE—¹{›½{“h­Î×Çîóê„ÊGv·@uµ?k¥:hž7`’3Jr(ÃE^‘3Q|,S~-Dh%}¼DEi&‹ÎQ²Å¢ÖàÍÏ×ÈãëÜIm&Qx+Ot)Mo(êïåLl&Ig%Gc$õ÷òþþþûûû÷÷÷ÿÿÿ!ù‹,» H° A!,X E aCF5pAÆ *01#†"NT0è‡A˜ ¡ =†Y²&€ NR¤I’1ÅÁbà€JðÃ'À:oŒ8bŠ˜3‡ˆ-ÃeË“‹„у™>Ô|‰Â¥ (ØÌq£Å‹•4häÔ±(Ћm®TÉ"Jž;*d(Å"4l¨p ,Pø°( ;src/site/resources/sample-maven-shared-io-report/images/poweredby_036.gif0000755000175000017500000000145011330102017025731 0ustar user03user03GIF89af&³ÿÿÿßåì3f@p0YƒPs–q©ïòõ¡´ÆÏÙâÌÌÌÿÿÿ!ù ,f&ÿpÈI«½8ëÍ;`(Ždižhª®§Ä¾p,Ï;Sâ{ã5näŒ2[²Wc"ŸMf¥F§Ò˜Rë#±F*Tœ…bi[XÑ ®ÚŠïòðK ¢ÙÎöµJï“ýuv7$f€}W<V…VZ,s†A.cBi”hžž˜Ÿ¢£j¦§¨©ª«¬­®¯°±²³´µ¶·¸¹ ºÄ¬ %ÃËÒÓÒÚØÖÑÃÕÛáâ» Á !çË Ø   #PÎ…w¼`è»@ \ ð{˜¾óúU˜¨@2Ðÿ&¨4‡õ& ¼XÅ—ñ½ ©a¢šX¦@àH N`©e€,l C*43iÁ£FV2L¶ ZÐŒBÛЧÀ®"¯ZæðꄨV°vC\|8‡‚øï¡du‰Rˆ›€©Ô´ š)%@@S pÇVlê.» -ðCp€rNÉø ¸3f¡ãB] BÁ¯|éVqY3¾…›;»{XÐË÷jD°®±Á‚I5L8"¥lw¡Z`É—?w,"s¾‹ d÷‡Ü°åÔ ¨Ÿð¼ƒáÕÓ³ð.±g½½´apñ¾ÛïtÕÉL@^tA9CGÐÒÏúüúOs‚µÀµ+³˜½š„ºØ¬®¬ž¨!ù,|ÉI«½8klÌð_Ø×@4DJ,l’ —Ñ *»¼¤e¸|ïæƒq8HŒH EˆT8(`ª"†BÁ`€êAñ`…iM0·[—!ÀKǸ|N¨ianVXp\ ‚KXDNNRmKc“EXcJn#š›žŸŸ;src/site/resources/sample-maven-shared-io-report/images/icon_arrowfolderclosed1_sml.gif0000755000175000017500000000067111330102016031030 0ustar user03user03GIF89aÕÿÿÿâæë€€üùÙúò®üöºûöÉýûçøì¤òã•õçœä×™ëà§ñÞˆòàëÙ‹íÕ|âÊvàÈußÇtÙÂqÕ¾oîÖ}åÎxéÑ{íÖ~ïÙƒÕÁ{Ì´iØÀpѹlÏ·kɱhÜÄsÓ¼n¿«lÕ„¼¥`· ]±šZÅ­eÁ©c ˆO«”W¥ŽT”}IŽwF™‚L†oB­¬ªh=u^7jR0VUU’‘‘þþþòòòmmmÿÿÿ!ù;,ÖÀpH,žŽH¢ÄÓQŸÆá€(¡V0—;oPa…aP±Z(‡q ®¯-¼#L ƒq0$+_sP(w‹ ‚D722…E, & 0_”–C,x€¢¤’2¶¨;!&' ¯"Äqµ:¹;#+'°ÆC7ÈÊB1' "#æ3_Ét4+¢ã &15,rt;/+ï-4hˆ€²ˆ¾a `Ô¸†–ôF4œ¸ãD Za‚;src/site/resources/sample-maven-shared-io-report/images/icon_waste_sml.gif0000755000175000017500000000106211330102016026345 0ustar user03user03GIF89aæÿÿÿÚÞé4WžðòöùúüÒÙæÚà냗¹…™º±¾Ó°½ÒÑÙæÐØåÕÜè×Þé`}§\x Ph‹EYxb©Un“`{¤h„¬j…­l‡®k†­y‘µ˜ºŠŸ¿‰ž¾ˆ½˜«Æ—ªÅ¯É§·Î©¹Ð­¼Ò«ºÐ±¿Ô°¾Ó²ÀÔ³ÁÕµÂÖ¶ÃÖ¼ÈÚ¿ËÜÁÌÝÃÎÞÂÍÝÄÏßÈÒáÇÑàÆÐßËÔâÎ×äóõøc€©š­ÇŸ±Ê®½Ò¹ÆØàæîáçïðó÷îñõÜãìÛâëçìòæëñëïôêîóöøúÿÿÿ!ùI,€I‚'!!;< ‚ŒI 3/6I)B’A™+ 8’17*¤?C77D6™*5’’C%9¸ 11,(:™)7¼2#"ËÍ’8C-:™'ÕG, Ó Þ>6&™ 1¼@Ø:™.¼A=ó™I0EŠ A‚^?&Ì;src/site/resources/sample-maven-shared-io-report/images/icon_confirmsml.gif0000755000175000017500000000013611330102017026522 0ustar user03user03GIF89a‘ÿÿÿ™!ù,/Œ©‹Â+â´Ú(À´7ê­`Ÿ‘¤× ‡˜Øê™†+‰ÔB³·BÙÞãÈZ"£;src/site/resources/sample-maven-shared-io-report/images/icon_folder_lrg.gif0000755000175000017500000000301411330102016026465 0ustar user03user03GIF89a ÷ÿÿÿýý©ýýÄýýÎýýÒõõÏòòêõõîþþýõò™îë›õò¢õó¨ñï¯ôó´ôóÇòñÎïîÓ÷öÝíé“êæ‘åàŽëç’ëç˜èä¢âß­ìé¸êèºðîÄèæ¿÷õÌèæÄìêÉêèÈêéÒ÷öâåäÒÞ׈âÜ‘âÜ“ÞÙ“ãߪÝÚ´çä½äá»çä¾éæÁßÝÀîìÎÞÜÅêéÚóòãêéÛø÷ëñðäêáŠäÚ†õì‘ÝÖÛÔŒÓˉåá¼âßÀäáÃäâÎîìÛǽwÉÀyÊÁƒÏLjÐÊœðîÞøöæìêÛô䈾²p¾³uåÕÝÍzýå†ñÛ‚ÜÄrï×}íÕ|ëÓ{äÌwâÊvàÈußÇtÞÆtÝÅsÜÅsôÛ€óÛ€ñÙï×~îÖ}ìÔ|êÒ{éÑzèÐzçÏyæÎyåÍxåÎxãËwáÉvòÚ€ðØиkζjÌ´iʲhʳhɱgȰgǯfÁªcÚÂqØÀpÖ¾oÔ¼nÓ»mÒºmѹlÏ·k͵j˳iÛÃrÙÁq׿pÕ½oÓ¼n±™YÁ©b´œ[²šZÀ¨b¿§a¾¦a½¥`»£_º¢_¹¡^¸¡^·Ÿ]· ]µ\³›[Æ®fÅ­eĬeëdªd ˆO­•W«“V©‘U©’U§T¦ŽS¥S£‹R¢ŠQ°˜YèÈ|’zGŽwE—JxFœ„M–~J™L—€KàÀxuD‹sC‰qB‡oA…n@xFŽvEˆpB†oA„m@‘yGðÊïÉ€g<}f;{d:ƒk>i=~f<|e;„l?‚j>rZ4s\5r[5{c:ya9kT1fN.ÙªvÔ t節à¨|Þ¦{Û¢yߢ|ßž}àŸ~æ¡‚Ü›|ÿÿÿ!ùØ, ÿ± H° ÁƒñʳgŸ>nÞü„°"Á=m ظ‘„C¹HadHÔ¨MŒ N¤‘ãä\²£iQ©J’Œ‰¢Àƒ$«ÎyŠÑ£PtLh@BÁ‡.6>hyb‚›TyèLª5pÎ]Ší¢CB… N,\ɲE#JLš‘Q¢­oª [e ™2fÒêÃÈ‘£!+@ "‚…†A…f Ô‚Glß1wzIŸ+8:Ј°àÂ+Y1£F‹ B @¿r‹¢@l1Í5Ñì2Elxaod¤±ƒìÁ ÒÇ\@ƒX Q/ÐPó ðFÁ¥FHÄ$#w’È.¨Q5Ò˜òÞ Îw…}…¼Ñ‹A­ä¡%*¼ÔñhÝu¿™RäÑÀK~”2Ceˆqà“½ýVWlGqCä—H2ÂcP×F&†!Æg¦¹rÔ‘‹Aº&‰fT1EoaP±'§ù™Ð .‘‚(– A†aèÙWg¤¡\B¥s`r-Eé’Ê&€,)†UaF¤XlÈšnüÑê!Üb²¸Geü˜k°õ«|¼h&Š4â‰.-‹h¤‘jDËÅxPë pÚ±H'Ç(ƒ3³`Á_ZH!H…p œšâ 2ÂX„ 0\la ûöû»–hòH.Ǥb‘@¿ƒ‡ x BÈÁÊAÇ%™|2L2’\<*ªRˆC~À!ò%š°b ,*ÔJ,oô G#KŒ0Aå\Ð"ÀÄt˜„RL2“} ½XrÉ"®ø"™Ô’ˆ-¾°ÂõÅžÜÒÉØh§M@;src/site/resources/sample-maven-shared-io-report/images/icon_warning_lrg.gif0000755000175000017500000000272311330102016026665 0ustar user03user03GIF89a ÷ÿÿÿþþþŠŸ¿®‘±’–fbd•Œœ…Šýýþˆ‹¦œ£»Š”°|‰©P]yl¤žº«µÉïñõùúüøùûex›VdzamÑÙæÐØåØßêÛáë]y¢XsšTn“Lc…G\|CWu[vžWq—RjŽPh‹Ne‡Ka‚I_H]}DXvb©5D[gƒ«hƒ«pаrŒ²Yl‰u²{“¶~•¸–¸€—¹ƒ™º…›¼†œ¼‰ž¾ˆ½Ž¢Á¤Â—ªÅ¯É¡²Ë¨¸Ï§·Î¬»Ñ±¿Ô°¾Ó³ÁÕµÂÖ·Ä×¶ÃÖµÂՏŨ½ÉÛ¿ËܾÊÛÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàËÔâÌÕãÓÛçôöùóõø*7I“§Ã•©Åš­ÇŸ±Ê¤µÍºÇÙ¹ÆØàæîßåíåêñðó÷ïòöçìòìðõëïôêîóâèïñô÷öøúûüýúûükW?^P?eI+eVFmN/hK-\B(bG+¢n?›j6¼rJÌ|Qú›iãbé“g÷çß÷éâ÷óñörê—qû£|ÒŒlðyè˜våš{ó£ƒäž‡Ç›Ž¾”ˆÐ¢—Œxwÿÿÿ!ùÿ, ÿÿ H° Áƒ‰dÀÁŠ”‡N¡eI„ŸØ@€Ç¯Ha’àF‚`@ªü¨æÈ’ .žüGÄã8q‚<“äÌ^f YITÊ ˜nÞÈDÄ#¿sè¢J•N“«`ÂÌ8ÙT8A`ÊÍÃB‹–4ˆ àêž·pãæñƒ CÖbìÚoŸß¿€ù)ÈGOž<8ØU©DŸ½yîܵs¡ØÉ€Ë˜/ëÈqà¼ïÊùS¼Øc|õ8X7Â^›9wìÀA»FyëlÐM[8 LK{\`Ï:ÕÙ®M{\€åÌ—kðc×î8GiÏœ £r°«Ê¤°ÿcWNîО)Ûu¡;lœ²qÀ¨GŽÜ¸oª›ùºÅšƒ]%àÆ´‘#Ž7Ûd£/«¤â$˜@ÏaÖ‚9Ü`ƒÍ5ÒijQ<Ÿòˆ*¬“CA@¼Q f ¡Æþ`cM5Ñ<ÃL2%óI+¬H2 %sôCXÜŸÛD3Ëô¢K,´,"‹'†LRÉ%™#A?°aFd¬1FÔ,£Ì/»Ôò%ÅlTL'™`¢‰+œxrA>Șa ÁÜ‚J#F¢‰1 '›trÈ+ˆàœ@\œA†\‘> Š…x‚hÇŒ‚¤°€Š(È ´…™Jê°ˆ*«°Bˆ˜2Ë"§ØB ( Œ’)¥˜¢Ç@9h€S<Ñ„¹Y‰%˜¸rÈ(³ " )‰+Ë,ŠØâÀ@2TAE†7X|Ô!ÇvØÑÇ{è¡G CL:ÔN€±„E Ä@üÐ…[ôÀó݀ÂI+€Á#¬0ÃCŒÃ 6ÐÂI!p ‚ŒàÁÊ$P‚ |p ( ,̤óÎ;src/site/resources/sample-maven-shared-io-report/images/icon_alertsml.gif0000755000175000017500000000023211330102017026171 0ustar user03user03GIF89a³ÿÿÿ®··’™™ËÓÓ¯´´äééüÿÿýÿÿz{{öaaj__ïïïÿÿÿ!ù ,G°ÉÙ¡Lþ€¢F„ãU6*’«J£°¢ôˆ|Þ¼H‘e®" q Ÿ°Æaá,Ž’‚ó r¾à0çb)›Ï–;src/site/resources/sample-maven-shared-io-report/images/update.gif0000755000175000017500000000030011330102017024614 0ustar user03user03GIF89a³ Ù•\ëÒª?!y‰’ÄÄ~LWA(ç²xdG¬ûüúϾ¯V.°®¸Ü6+Vqg·!ù ,mPÉI«½8ëØßä!HhyÁ7’åE"[š¢\Ó¬'à O†ÜH °vhzÈ߉u  À"yÚ.ŽF#øJ‡¬Ã*ö` Ž<ñ ²cÀ`Ð Af{ €‹‰ŽŽ;src/site/resources/sample-maven-shared-io-report/images/collapsed.gif0000755000175000017500000000006511330102016025307 0ustar user03user03GIF89a€!ù , DŽ`ºçžcŠ5 ;src/site/resources/sample-maven-shared-io-report/images/icon_waste_lrg.gif0000755000175000017500000000141411330102017026340 0ustar user03user03GIF89a æÿÿÿPq¨Riy´~”·Šž¾ˆœ¼‹Ÿ¿ÁËÜÃÍÝÄÎÞÉÒáÇÐßÖÝè[vžYsšWq—Tm’RjŽOf‰Ne‡_{¤]x \wŸWp–SkPgŠMc…c©b~¨Um’Qh‹Oe‡Nd†g‚«j„¬k…­p‰°pаqаt²u²|“¶˜º€—¹„š»Ž¢Á£Á’¦Ã™¬Ç—©Å˜ªÅ¯Éœ®È¡²Ë¨¸Ï©¸Ï­¼Ò¬»Ñ°¾Ó³ÁÕ·Ä׏Ũ¼ÈÚ¾ÊÛÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑà\´u—ӧ߱ʤµÍ¹ÆØƒ¢É¸Ø¸Îèëïô®Ñ«Äàÿÿÿ!ùT, ÿ€T‚ƒ„‚EGD C A…Ž… F'2CC:?>ƒF:QQ–—™:<žG¡£¤—³9ª… ­®®£³'¾'7¶ƒ ¹º'::22¾5ÂTBź'¦ÊÌ'3 CÆ2£—ÉË'1Â@ÜÞݤ§Ê/ÂMQé®Ý»âîÂ>õ˜Æì’ˆàBXKÞtx¢…0¢èHÎ%$+„íˆjbB_ʆÃÁ]ã–1ä# ’˜˜ Ea¸KRZ"1!lÉÌš4a=Á©³„0?]AJÔåa4’5tHN—„)‘º”jS$„ÁàÊԪΠÂü5¥””LWi‘<vÀd”“S£Tu"Ã%a,<¡©´lN$H2+0ä$Юz› ø ŒY¯f]j¦âräÌH@Cá¹êÕ!ž‘˜÷ذ² Ïy0¹j&±]À`3Ö¸sÊðA„(ˆà`+;src/site/resources/sample-maven-shared-io-report/images/help_logo.gif0000755000175000017500000000410111330102016025304 0ustar user03user03GIF89a”4÷ÿÿÿîîî111üüïþþôþþûÿÿþýûÀúùÞýùºýú¼ÿþîüö´ýø·ýø¸ü÷¸ýø½üøÁüúâûùáúùêýõ®ûô¯ýö±üõ±ûô°þúÓþüêþýóûñ¨ýó«üó­ýøÖüùâÿüæþûåÿþöüí›ûíüð¢øë¡úî¤þõ¾ýöÍüùçùç“ñàùé–ûë™øè˜úëšmb6»©aüä…³¢_ûä‡üæ‰òÜ…øã‰öá‰õáŒ÷äûè“ùæ‘ñßüè–! 1*KB!_T,^S,ZP*OF%SJ'dY0nb5l`4h]3ˆyCi]4‹|E•…K~GˆzDwk<©˜V‰{F–†Mɵh¹¥`¨–WëÓ{äÌwâÊvàÈußÇtÜÅsØÂqϹlÁ­e¼¨b§•W£’UõÝóÛ€ï×~îÖ}ìÔ|èÐzçÐyçÏyåÎxåÍxʵjµ¢_³¡^¯\«™Zª™Y¨–Xúâ„ùá„øàƒöÞ‚ðØéÒ{Ô¿pÓ¾pðÙ'! ;3SI'иkÌ´iʳhȰgÁªc–„MÚÂqÖ¾oÓ»mѹlÏ·k͵j¬™YÙÁq׿pÕ½oÓ¼nưg¥“V¡T+$‹yFÁ©b´œ[²šZÀ¨b¾¦a¼¤`»£_º¢_¹¡^· ]·Ÿ]‘J}I{HÆ®fÅ­eëd”‚L’€K ˆO­•W«“V©’U©‘U§T¥S£‹R¢ŠQ°˜Y®–X’zG—J“{HxFž†Nœ„M˜K”|I›ƒM™L—€KuD‹sC‰qB…n@xF†oAg<}f;{d:ƒk>|e;x`8t]6r[5{c:w_8nV2qY4áááÕÕÕÈÈȼ¼¼¯¯¯¢¢¢–––‰‰‰}}}pppcccWWWJJJ>>>ÿÿÿ!ùæ,”4ÿÍ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦Í›8sêÜɳ§ÏŸ@ƒ Jt¤Ka’6¢TÉ‘¥K IB”H‘¨HEwZ ¢`Áƒ(°ˆ 44€æTVœ—bHH@ B‡ xE´A‚=|ø AÃF×Ûš_^(¨`€Ã mäÉ£gàÀƒÓ¤¹´êðLH(Ø€"äÉ•-cF£¹O5µ<ˬô¡@ §óÔ0BDÐ#VX·V£faÙ0-Y!j&‚¢KÔ$Íëâl¸ÈBó'POÿ™Nž öì~bswyˆ©{G‡rÅôMkзysˤ¶mÙ\”7ô_€.IâÁ 1X–…tJÜpÓáÇ~qx‹Iâ àEÝ âuø¡K‰xà‰ N\A ãEGÈmÀÑÅa£‰Ùe#¢7Ûl£ 9â`c‘,)r «¹1!r<1ÝvdF”ó£‡A’9¤™q39…sä“h²ÄŠ >d–†rI!Ó%qG_RâÈ#ÂŒy¢APZ‘7ˆ3šå˜¨J‹ÈÀƒp×­!…tƒT‡d0u‰TÊ(zФe*£Ž”“pªÿºR()ôàqù±„tXl‘‰•XòH$Tc*¢q»j£©¾4ŠdŠ^Ñ’‰˜ zU«°‚Œ²A‰7áˆ7ášIà«Ý”{.BvHκžå6߈#Ž7ºê¾ßô{Ñ)Òrqáp”aÆšŒ•$‰t»H'É€;‘Ý”3¢ˆM $ä‘äl<À8°$²ˆIŠè±™Øt¸q9Ý ¢È1cäI®cèÅt“<2•"¬´ÒI(£<3æÉ"Ÿ¨¦‡NjÓa8+Ÿ8b9ß$ùÆã”$8#'‰Í6*Ç*Ð8]›3®ÆÚ¤q8Ûp㦬éÂFvmä¸cÓm±ÐD—ÿr 3G#=â‰!£;6!§ýñå¤=6×\«M¢Ø!fM£P[NÐ6Érp]|ÙH%Ó1ÒíУøíÉ'ÒŒ N’´ÓNö‡Ú¬iÐ7d.þÍîÌD¹@ž‹í¦äa£²‘Lw„Ë]xaz%PM÷Ê" ˆâz.ºè²ŒÅQ›Ãh9ú–/NÈŽ.zA`—sÐðæ$Öæë‹2œ¬Q.LÕ!SqÅ+P‘ Qâ¯ÓE,dá‹R€OlŒ³Ô§µ°M.xñ $x?ñ‘mDȳ2NbU…T'L@îÉ‚ˆÆBP%65µªYæQÍ‘¹÷aP~d"Ûúÿ’n­%»È.@Do­k¡gQ fTƒ!4ófŽ~-î†8|xC ~ˆkc,×ÁŒüâÀ1‚Á ^4ƒ…Ÿàž3Œq d˜âLp Ÿ9¸F²Ç•#‹#¬°Áµ¬Q|?Ô ™˜‡h?Â+’—ÒÌ2é f$ß¡FhÐB ”)ÅH‰h^a”Ú¶á cŽÌpd¬œ$5ùA…Ãqâs&Õ’(’k؆Û!I’8)È#ÙHBþƒÍ“Xƒ¶p†LÚ¸†øbÐXDLèYO†ô‚û\f?…ÂÏò¤ Õ‰¾Ú™Ð†:ô¡ ;src/site/resources/sample-maven-shared-io-report/images/icon_members_lrg.gif0000755000175000017500000000304211330102016026645 0ustar user03user03GIF89a! ÷ÿÿÿÿ燱¿Ô‹ ¿DXv]]b­®°ùúüøùûÚàëÑÙæÐØåÕÜèØßê×Þé&2CXsšSl‘Rk^z£Wq—H]}EYxd€©h„¬z’¶˜º‚•°¡²Ë§·Î²ÀÔ·Ä×¶ÃÖ½ÉÛ²¾ÏÁÌÝÃÎÞÂÍÝÄÏßÉÓâÇÑàÆÐß¹ÂÐŽ•ŸËÔâÌÕãÎ×äÓÛçéíóôöùóõø—«Æt‚•ž°É£´ÌºÇÙž¨¶áçïåêñäéððó÷ïòöÝäíÜãìÛâëæëñìðõëïôâæêñô÷öøúûüýúûüvyzáâ⢦¤ŽiƒT^sN†œq…Ù/‚Ñ-„Ö/ƒÕ/Î.†Ø3ŠÚ7‹×<ŽÜ>‘ÝC×E•ÝKn£9–×PœáV™ÜTžÛ\•Í\¢Ûe|¡T¶â†czK„¢e±ÕŠgxU…y}Å*{À)€Ì,~È+|Ã*…Æ8ŒÊE’ÓI–ÎTb‡8žÖ_¦Öm¦Ór¯Ü}wµ%{¿(y¹'x¶&z½(}¼-}¹.€½2„¼:’ËM“ÆRšÍ[˜Å`ŸÎeªÕt«ÕxLUAu²$t®#r©"u°$t¬#sª#v²%w±'z±,j›(~±5Š»F—ÄY¢Ìjœ¼p³º©r¦!p¢ o¡ q¥!q¤"t¤'ƒ°>ºR›Âb«ˆmšnžu¢*‡­Ek–i‘wŸ/Wq(gŒhy›4e‡g†"c™ †a|_w_yv€X^t]q[len;UcFK…†~HMW\*GJxylHKEFFFýýÃýýÄ?>ýüÁýú»ýø·þ÷³þô¬þðžlhNÿí–þæ†üä…øâ‡ÿéŒàÈußÇtÝÅsóÛ€îÖ}êÒ{æÎyåÍxåÎxúâ„øàƒôÜðØиkʳhȰgÔ¼nѹl͵jÛÃrÓ¼nÀ¨b¸¡^³›[ªd½¥aÅ­f«”W˜KyGŸ‡O›ƒMˆqAzf?ƒk?ƒlAoX4eM-e\PËÉÈþþþèèèØØØÿÿÿ!ùÿ,! ÿÿ H° Áƒ<·N»vî¸)œHp^»iÍž @Žʼnòª PV Y2fÓ´ûˆ°ß¼o–%[Æ ™±fæX„G.›·@—“æQ'Azä¶]‹TÀ4dÏÒ@µªUƒôÂQ×­©€bËŠ , ¬Y³ Úw›7hM“)kGG€òæ  -A{îÐq»Ö îFdÈÖM p#‚cÇ7ÊVU¡¢Þ:¶Ù®yóÖUÀ·w=P¢tigðC²¤^:sç¸eÆí[4Ð;¤ÞÍ_GâÍK'Ý9kÔ¸«WP÷n³«“$aÄǽ{íØWnÞ½ ÍÍ–ÿ @¾¼ùò+Þáˇ=z½˜øËý<úôêE˜@9S(?~eñ£Fhd2sŒw^y58_|!F/fõsFø‚ª!!u>q@Wd¡`€AÆe5q"xàÆ>¨àyÐEV`ÅrxA†Ma‡‡$9JöHD ;4QÅT€ÆXÆ!‡ sBˆ!†\r &ûtà7š÷RHFm¸Qpć ƒ bI!…ˆÂ„ V÷ä:üRÀY‡k¼1‡~H •TÊ¥²ØpÄ =¤Yqº!zôAÈy(Òˆ$”P (§œÿb ‚BYhÀÀ²!~üq‰"‹8ˆ&|bŠ*®¸¢ CÄ :á@ ¼Ð‚¥î±Ç–\BÉ#Œt²I)¤ Ò +°Àò ¶š+.  B0{ð‘j±ÇvÂI)¨¤ÂÊ+±ÌB .Ã@­µØj‹Â $°0I#‹k.ºêÿhpm¶d° "ˆ€! JH"¼ø 1ÄãL/4þ“ÉP38 ]ô×!ØPÁ?PvIX0Ð ÷ÜsDw¥wA;src/site/resources/sample-maven-shared-io-report/images/icon_error_sml.gif0000755000175000017500000000176211330102016026362 0ustar user03user03GIF89a÷ÿÿÿ ²±«£ q x v m¸;@’GJf46éÒÓ_ Á· œ › ‚ i [ ¾½¹·«¦ ˜ — – “ Š ˆ ~ } s q p n X V L ž  … ƒ  v l ¾~ ®Â"±",¢9?‚6;{6:Ždfå³¶ðàáÂ$¿'¿)©OWͱ³ÞÐÑÅ-Å/«*Ç"4À"3Øs}ôÖÙñÕØðÖÙúðñûòóÇ%8Ç&:È(=È*@È+AÃ*?É5H½=MÀM\ùñòÄ+BÉ.FÉ/GÉ0IË2MË3OÈ2NÇ%9J.F¯p«±r®N3O²v´³x·µ{»@-EL6RO8V08G3O1:bGm3=4>7 C5AgOx?2ME7TmW†|d™}gŽu²š„Á^Vƒøððèààöððýýýûûûúúúôôôÿÿÿ!ù,Ï; H° AJýéÃg’ÁN’Þ´YcŒ—* FrÃM™/]¨HI‚h $5iÎŒ³å “%B€øéTÉ ™0P8ÁÒ$À“2,Êã…‹•,Z(µ¤D‡ŒðL‰¢É¥¨@¡€¢;GŒÉák$<Hd‡ >`ê'‘!\2ƒ†?v°hp‰‡  uÚ@‹ .¨Xñà = q˜0 )f$Tp„"F¼ˆQƒ´ÁGrểCÇÁ€;src/site/resources/sample-maven-shared-io-report/images/nw_maj_hi.gif0000755000175000017500000000006311330102016025272 0ustar user03user03GIF89a€ÿÿÿÿÿÿ!ù, „¦Ê š“ ;src/site/resources/sample-maven-shared-io-report/images/icon_arrowfolder1_sml.gif0000755000175000017500000000207211330102017027634 0ustar user03user03GIF89a÷ÿÿÿÿþ—üø“þú•ýú•ýû•þü–ü÷’ü÷“ùðŽùîùï÷íŒöè‰õèˆæÙ€÷éŠ÷êŠîá…öæˆõå‡ôä‡áÑ{ëÖ~òðèÜÄrï×}íÕ|äÌwâÊvàÈußÇtÜÅsï×~îÖ}ìÔ|éÑzçÏyåÍxåÎxãËwðØÚÅtåÞÆÐ¸kζjÌ´iʲhȰgÁªcÚÂqÖ¾oÔ¼nÓ»mѹl͵j˳iÛÃrÕ½oÓ¼nËÁ åÞÈÁ©b¶ž\´œ[¿§a¾¦a½¥`¼¤`»£_º¢_¸¡^·Ÿ]· ]µ\³›[Æ®fÅ­eĬeëd¢—y©ž€ ˆO¡ŠP­•W«“V©‘U¨T§T¥S¤ŒR£‹R ‰Pœ…N°˜Y®–XŽwE—J•}Iœ„M˜K”|IŸ‡OŒ}\‡oAŒtDˆpB†oA„m@‘yGi=‚j>zb9ya9lY:nV2mU2kT1jZBdM.bM1bM2åããVUU’‘‘××׫««lllÿÿÿ!ù‚,ÿ H°`%H$y2pDN Jœø¥ ª ÄÈ b&ö™8ðÆ…(¨P@€ 4Ò|™b†`>$‘"¢g ?¾,¹B]lîÁIò̈ XŒìð Âƒ:h¨9°ÏŸ?L%^ñAˆ$p€ Zl~–à–-nذa‡3nÄøÁE. ?t%V9QdÅ¿(BØ€!ãÈ$†ÕHœ N„¨‘Š&UÂX± H3ÉIĘÀãÅ"Aªd¡BÇM×9©Œ±ñ  `°Œ©3§GÁ›9ªaÓdˆ’/WÚàACróD7rŽ0Ñ'”èè¾YCÆÎôðyÑ}@;src/site/resources/sample-maven-shared-io-report/images/icon_info_sml.gif0000755000175000017500000000113611330102016026157 0ustar user03user03GIF89aæÿÿÿýýþùúüøùûÚàërƒžÑÙæÕÜè×ÞéÖÝè 'SG]}]y¢Vp–OgŠLc…J`EYxCWtI^~FZyeªh„¬gƒ«j…­l‡®mˆ¯pаXl‹t²v´dy˜w´|”·~•¸w­€—¹uŠ©nž„š»ƒ™º…›¼zŽ¬ŠŸ¿w‰¤‹ ¿¡À¤Â…—²™¬Ç˜«Æ‚’©’¢º†•«¡²Ë¦¶Î©¹Ð­¼Ò¬»ÑŸ¬À±¿Ô°¾ÓµÂ֏Ũ¼ÈÚÁÌÝÃÎÞÂÍݲ¼ËÉÓâÆÐßËÔâÍÖäÌÕãÓÛçÒÚæÈÏÙéíóãçíõ÷úôöùóõø@TpAUqyŽ«}ަ•©Åž°É§´Å¹ÆØÀÉÕàæîßåíáçïåêñäéððó÷ïòöÝäíÜãìÛâëçìòæëñìðõëïôêîóØßçâèïñô÷öøúûüýúûüþþþÿÿÿ!ùr,»€r‚ƒ„…‚`fg`l\d LGƒ^qqopnQmbj.‡™MObhNg r\oP6 [igŒ%‚d›mE4k_^eL‚ PRah YcHB‚ËjfV ‚FØ`\- 5Z=97‚D`] I' 1ì30‚@KICA@,¨"‹éøcÇ $X ñA‚ ?tàÀrå…Š!8h 2è† @ Pa†b ;src/site/resources/sample-maven-shared-io-report/images/nw_min_036.gif0000755000175000017500000000005511330102016025217 0ustar user03user03GIF89a€3fÿÿÿ!ù,„Q;src/site/resources/sample-maven-shared-io-report/images/icon_arrowmembers2_sml.gif0000755000175000017500000000206011330102016030010 0ustar user03user03GIF89a÷ÿÿÿŽ”ùúüÑÙæ×Þé4D[RjŽ4CY!*8˜º‰ž½‹ ¿t…Ÿds‰Ž¢Á¤Â^hw¦¶Îgp~¬»Ñ±¿Ô²ÀÔ½ÉÛ¿ËܾÊÛÃÎÞÄÏßÈÒáÆÐßÍÖäÌÕãÓÛç7H`=Pj•©Åš­ÇºÇÙàæîëïôßãè[jzñô÷YjnY[ZTlXC\A>l*6]#`•Gfs`ôöóTxAdÉ&cÆ&T˜+rÆ>rÇ?R.Ew(hŸF= cÃ&a¿&a»&fÁ-iÅ/hÂ0c¸.jÂ3j»4l¾6i·4sÌ;,JxÊEŸ­–›¤•a¹"`³&_«(rº?°º©àèÚ6X¢T—Y£ ]Ÿ(S’[”(P‰Lq(-O…JvN|!1Knjoc#Ed?P 9=þþüýùºþö°þö±ûð§þò§ùè”ûëšðá•þïžÿç‡ÿèŠÿéÿì—äÌwÞÆtéÑzíÖ~äÝÃиkÁªc͵jÕ½oηp§‡'³—D¼¤\À¨b«i¿©gº¤f  §TžŠX›r•M–€P•…`¡hˆrFmEnG†rJåããVUU’‘‘þþþÌÌÌ«««lllÿÿÿ!ùŸ,ÿ? H° Áƒ*”„HP¢>3)Q :šÃÆ C1%ü d€ !ñ±s§ žB3]ypC€\ÀСQ =uà¼!“'šK˜\j韟ecºGJ»^O¶[b½ha½eq¹mw³~z»xrÊÀÅÅ5Á'È Ä,9Î42Þ&(ÇITÌBYÇWLÄ\OÌ^]ØHHÓMTÂWaÇ[jÑLaÝ_tÃ`MÓdYÊarÊfpÒffÒinÑayÖrz×~xÙwvàKOâMSäKPìKQáPKåPJí^ZéCgìrqîvxÎs‚Ëy…Ùzšàw†ésƒç}‘̉oσu¥µÌ›”ЀƒÓ‡‰Ý†ÜŠŽÚ‰Þˆ“Ù‹˜ÝŠÓœ•ݙٞ˜Ú— Û§’ß§–Ü®žÎ½¡Ø¦§Þ¡°Ø½´ç툎éŽàŸ›é’˜ð‡„õ›ƒò“—õ››þ””ÿžœäŸ¤ÿŽ§äªžë¦Ÿæ¢¡æ¥«ä®¢î¨ ê¯±à³ â³¡ç°©ê½¸ý¥®ö«²ñµ«ò¶¬ó·¹ò¼¼÷¾ÄÝÃ´êÆ¶ÿÁ®òÁºÛÍÄÖÊÔÛÇÐØÐÃÝçÎÞáØßçÚÓÿðÓÿùÛóõêÃÄèÆÅïÌÆèÊÈïÏÒëÝÐêÜÓìÛÔéÛÚèÜÞõÅÃÿÂÀûÆÎÿÒÅüÑÈÿÒÎÿÛÌ÷Ó×ðÐÛÿÑÐÿÛØÿÞÞðÃàÿÕàÿ×ãûÙçÿßëäíÎïãÍååÙíàÚõáÆðàÑôáÚÿàÙÿâÜÿçÞäæãíäåïêþàÿïâÿìîÿíçöóàÿöàÿÿäÿÿíôþêýöëÿýïúüíÿÿòîëÿãâÿæåÿáéÿíæÿìèÿåöÿïòõÿäÿðïÿôêÿ÷êÿôíÿøæùÿïþýéþÿïñõøñÿööþñòûúñúÿòÿÿõÿÿûóðÿðòÿöñÿôôÿöõÿòúÿñÿÿòÿÿôùÿõþùÿñøÿóùÿôùÿöûÿöÿûóýøõÿøöÿûôÿýñÿüòÿÿñüÿôÿüöÿÿôÿþöøÿúúþþýùÿÿùÿÿúÿþþúüÿüÿüýÿýÿþÿÿ!ùõ, “ë 8c Aƒ*ÉrE 5¤ÈA¢ Þ.^`É“w£Ž¼&¼`s”)yBhÈË´‚À‰5]Œ¡’LJ“0 ™cÈU·*a A¢c!;‡=i±Q R¨Â7„Â*S¡ä¥áAbÄ([‚¶m’4©Õ@s´lQ1Oüp‰¢Ä™#Dȱ%  ;src/site/resources/sample-maven-shared-io-report/images/icon_infosml.gif0000755000175000017500000000011511330102016026014 0ustar user03user03GIF89a ‘ÿÿÿÿ!ù, ” w¡šƒ©›lzO=àwi€XMèbŒL[;src/site/resources/sample-maven-shared-io-report/images/icon_arrowwaste2_sml.gif0000755000175000017500000000114111330102017027501 0ustar user03user03GIF89aæÿÿÿÚÞé4WžðòöùúüÒÙæÚà냗¹…™º±¾Ó°½ÒÑÙæÐØåÕÜè×Þé`}§\x Ph‹EYxb©Un“`{¤h„¬j…­l‡®k†­y‘µ˜ºŠŸ¿‰ž¾ˆ½˜«Æ—ªÅ¯É§·Î©¹Ð­¼Ò«ºÐ±¿Ô°¾Ó²ÀÔ³ÁÕµÂÖ¶ÃÖ¼ÈÚ¿ËÜÁÌÝÃÎÞÂÍÝÄÏßÈÒáÇÑàÆÐßËÔâÎ×äóõøc€©š­ÇŸ±Ê®½Ò¹ÆØàæîáçïðó÷îñõÜãìÛâëçìòæëñëïôêîóöøúåããVUU’‘‘«««lllÿÿÿ!ùO,¾€O‚ƒ„…‚'!!;< F†‘† 3/6’ž‚)B—AŸž+ 8—17*ª’+?C77D6„KÂÃÄJ„*5——C%9…JIILLMMNÆÇ 11,(:†JÔÖØ†)7Ë2#"‘å×Ù…êË8C-:’JMõ Xwéˆ âùó¤€`6Lx°P+Ò‚Ë€èÓ¡¢!.–9Ѓ£GC`)"€‰Ž'QF˜9³P ;src/site/resources/sample-maven-shared-io-report/images/icon_alert.gif0000755000175000017500000000214011330102016025454 0ustar user03user03GIF89ajgÄÿÿÿýþÿÿ((ÿ;;ÿQQÿ__ÿ~~ÿ““ÿ––ÿžžÿ³³þÎÍÿååÿòòÿøøÿÿÿ!ù,jgÿ` Ždižhª®lë¾p,Ïtmßx®ï|ïÿÀ pH,#AÃ0h ¤¶pZ‡©VÕ \­ˆ­¸tøZ ãt€iv2Ôâ¶õ ×ÊÝ‚úôÞdäõH^wt€Glr…H‡mŠHewŽFw‰’@ Œ_ ˜™6 ¢ ŸW¡¢ ³ ¨1 ´²²m½²­¥¸+ ¿fÁË ­ ÆÇ%º¼Ð¢Í_ÏÛ¬Ô×# Úà¢wç §™º­ë²éò½â™ ñò¥‚f Í­[`­P¹z n ðÊIAœ¬Ã@µ‰kä˜P¢ì\«[ £ænD7'hPÿ$[§dšŠçÚ¥¨äl…ªs-ÓçMo,táĈäHY2WT1“¥ÅNhI§t„Jôƒ6a\$Û7 A”)0¡¾¸j&«Ö©# iî«Ö6n]ݦ ä´½âºh£Vî®H„eg—ßO…õr4ÁbÌvJ·Èà^}_4´WVfG ÒØ\cî2Cv-CðøÅI7.Ëj½£ó( €ÞÄÁ6Ú.~:{[Õ²osþ’ ÇÑÏ9þ.ƒ>ö‹Y +ïñ@{‚ãÕ¯ ÆÁÚòìr|¡ã(ð¶Ù¿Xÿ'¶vù3lOŽñå=ŒÚé•4ãáð‰ø¶Œÿ€7< Vî@`èå¥#)é 0Bƒ_pV§¡y<$÷a ‰4þÅ\‹ :ÑT¼X"‹:ÕDs;d· Œcáˆ7þ¸CBÞP£ Ò ”‘=zˆ 4Ò醽€‡˜”¸`)K‡ sw¾S¦„$fRa`=Øf%úHsb &úà£0sÎäÍ›)¸iç™3œÔûÉeœ .£¥Rw¨8ƒl^á¥(y–Ù œyX_‘#ÕÀÇʨb@ŒÚ Ÿ#|z] E„m¡Â * ¦z&€\ÆàÏaù¸(G)𫠹ɑa kÚšÚ6MªàÀ¥ÿÌ`ÚHÃâ`[Ý•ð,(Í*µM¶4$;[~xQÀ l:V°Õ"ç]N2,tƒ¸¢ ZƒÓŽdï¼G!î¼àÀ»V¿Q!‘œ(/ûî¾+‚óï ¬ò[׊"ÚyQª®×ÒÃJç<ìCÇã‘w˜Br-…r¡ ÊÊrð‚¶´à€*ÛÃ0‰ñS @@$q=^µ¬FÄõCåÒ0{Ø®NIGSO­šÔX_4Ž 匵,÷lBD_Cµ³$º µ -¶J›¢6Û?7€ÉÆo¿€76{çí÷߀.øà„^G;src/site/resources/sample-maven-shared-io-report/images/remove.gif0000755000175000017500000000034311330102016024635 0ustar user03user03GIF89a³!á•”ÎÌÊHJGùúø¹=9121áÜÛ½NJºgduqÁº¹MÝuséVQŒLH!ù,ÈI«½øûÙÝeY(jh‡ ,BÇ«µ.x« D]Ý/Y¬å£Ü0`hس @N£ð0-P‰pV2¢¦GA\¤ÞŒ@Áá`ØPC‚Àh &<)<] X%‚ ng~ v? \ˆ  c 8 W T¡M¢²³;src/site/resources/sample-maven-shared-io-report/images/sw_min.gif0000755000175000017500000000005511330102017024635 0ustar user03user03GIF89a€ÿÿÿÿÿÿ!ù,D–P;src/site/resources/sample-maven-shared-io-report/images/nw_maj.gif0000755000175000017500000000006111330102016024610 0ustar user03user03GIF89a€ÿÿÿÿÿÿ!ù,„‘ áíB;src/site/resources/sample-maven-shared-io-report/images/upsimple.png0000755000175000017500000000031111330102016025210 0ustar user03user03‰PNG  IHDR‡ülgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe< PLTE„„„ÿÿÿãW—ótRNSÿÿ×Ê A7IDATxÚb`bbb`Ĥ™˜€,€‚3ˆDƒXg˜²ˆ  OWÍ{IEND®B`‚src/site/resources/sample-maven-shared-io-report/images/icon_warning_sml.gif0000755000175000017500000000110011330102017026661 0ustar user03user03GIF89aæÿÿÿ¸œ§º¡«b`awr}“ޤ˜ º¡¨¿¬²Æ~ް„’²j| £¯ÇfsŠ„™º§·Î·Ä×ÄÏßËÔ⣴ÌÜãì[M@Kƒ? àk®T£N ”G J$ùwñsïrêpÛi×fÖfÔeÎcÍbÇ_¿[¼Z°T©Q¤OšJ E D E ƒ? i2 çnämÃ]¹X·WµV•H ‰A €= h2 ]-Ëbùzù{ìz&«Z¿i&×iù(Ëj&ùƒ1ùƒ2ú†7Ìm-D2%Ìp4úŠBúŽIØ|DÌu@ú”Yú˜aæ\Ì}R׈[¦v[úmI:2̓`û¡vû¤û§ƒÙ‘s=.()ûª‹+*û­‘ç ….!Ó—<,&é¤5&!:*%²‡y*Švp묜*,-¨‡‚š~zÇŸžÿÿÿ!ùv,€v‚ƒ„…† †…oae‹ƒd][s’v iT ‹u^PW†\Z¥MI…gXU¥GAD„SRQ¥?4ƒVONK¥)#C‚nJHFE0=7'6*v B@%¥+8, l !5"9¥.:/Lt"$&(-3:øc‡ Yìø‚f3càÄ‘#¦ ;;src/site/resources/sample-maven-shared-io-report/images/sw_maj_rond.gif0000755000175000017500000000006311330102017025642 0ustar user03user03GIF89a€ÿÿÿÿÿÿ!ù, D~†šÎš’²;src/site/resources/sample-maven-shared-io-report/images/icon_sortright.gif0000755000175000017500000000017211330102017026376 0ustar user03user03GIF89a³ÿÿÿj´?S‡-˜ðZ}­ZÜ÷ÈJt)ÿÿÿ!ù,'ÉI«½W`+Φ‚á}ˆ@ãfEš±¬[™Å Ïõ=Ûd©[¿žÐ;src/site/resources/sample-maven-shared-io-report/images/downsimple.png0000755000175000017500000000031111330102016025533 0ustar user03user03‰PNG  IHDR‡ülgAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe< PLTEÿÿÿ„„„Ý-È­tRNSÿÿ×Ê A7IDATxÚb`„€b`d€b`³˜Î & Hœ@@ÄÄ" "V_ÝJáIEND®B`‚src/site/resources/sample-maven-shared-io-report/images/icon_sortup.gif0000755000175000017500000000016511330102016025706 0ustar user03user03GIF89a³ÿÿÿj´?S‡-˜ðZ}­ZÜ÷ÈJt)ÿÿÿ!ù,"ÉI«½8ëÍ©è‚ql!AŒXIZ©ìÐVGmßn§ï<;src/site/resources/sample-maven-shared-io-report/images/icon_success_lrg.gif0000755000175000017500000000272411330102016026671 0ustar user03user03GIF89a ÷ÿÿÿþþþŠŸ¿ýýþïñõøùûÙßêÑÙæÐØå]y¢XsšTn“Lc…G\|CWu[vžWq—RjŽPh‹Ne‡Ka‚I_H]}DXvb©5D[h„¬gƒ«pаt²{“¶–¸€—¹ƒ™º…›¼†œ¼‰ž¾ˆ½Ž¢Á‘¥Ã–©Å™¬Ç¯É¡²Ë¨¸Ï¬»Ñ±¿Ô°¾Ó³ÁÕ·Ä×¶Ã֏Ũ½ÉÛ¿ËܾÊÛÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàËÔâÌÕãÓÛçôöù*7IŸ±Ê¤µÍºÇÙ¹ÆØàæîåêñðó÷ïòö`{œgƒ¤ÛâëçìòìðõêîóNd|Š¢»¦¸Ëñô÷öøúûüýúûüœ²’«½Vu‰v–ªQo}t˜£„ª«k•ŒRwnˆ±¤Šºšd™q@]G;Q@KuSGkM]“bš¼œqšp˦ۣ~¤|¢Ã «Ê©~¤zQƒKc™[ƒ¾zHpADi=Bd;£Û™”ЇŸÙ‘¬ãŸ©âš«ãœ>\5:U2§â•§â–©â™^Ÿ5X’1SŒ/Q†-J}*~ÌMvºH‰ÔW}ÂR|§_Œµr˜½{™h¯Éž¿Ó²¥´›¶Æ¬ÍÖÇöùô|ÍCvÄ@qº=o¸ƒÓJ€ÍJX‡7Ž«yÐÚÉíôèR„+Q‚+O~*N{)Jt)õ÷óÿÿÿ!ùÿ, ÿÿ H° Áƒ_$@àÇŽ‡ò衃F „qØ@€Çì¨A`F‚E@ªüeÆ’.žü÷Â#Ž8q‚t2£LCf¶XItǘV®ÈDÈÂc8m¢J•ªC«EŒ|8ÙT)Q˜ÂŠKKƒ!@¼ÀÕãµPpãÊ¥%çK˜0[\°ÅØõ›¿€§Ù†ϟ<[H´%ªr=%³añ˜3c.1‹ž=!rôe1cSØì4h’£K‹¤ðµ™Ó„‰¸A„-ú‘%PÆ`zÚc–;„ZC…ËT-NLˆ ¸¬31’%9¥i#¾jrzÿìª2©,‰&EºDIѶڦÑÓ2ž6NÛ#<¬‰”©Ò'O³²-ò¸cÈRuE€yUDìRÊ(³`³Ñ=ïˆs:`ÄP—sügKß\ó^öÄ#L8º¢A,\a@ƒJ<E_t"Ë,ßpÄQ=¹ˆ#Ì.¼˜QÐ ÞtœÈBÍ4ÖÈQ7Ëà 1Ũ²‰­@EŽHq„hPCÍ<ÓÄS7eóË)ªœ² +ÈÔA :Ѝ…4óÌSN:ê8 7Œ2¨°ÒL/¾$Kt¥àD™‘€å€c:ºŒ³Ê3ÁdsK+¯@ªŒ3ë,á±`¦“%ÄŒÂ03Œ1½¸M4Ь㌫í@“>~ DÂüÀ6p 3»“JͼòŒ+íϱûìÃO?Q ä=ˆ(BgÐánuØaG}"ˆ~4Ò#e,A9ÜP 1ÀàB D°°‚ )¤€Â Ü&‚'eP„ œðÂ?ñ"„Â'= ,,K Á4Ð@X`Áh0ÓÎ<;src/site/resources/sample-maven-shared-io-report/images/icon_folder_sml.gif0000755000175000017500000000117211330102016026477 0ustar user03user03GIF89aæÿÿÿÿþ—üø“þú•ýú•ýû•þü–ü÷’ü÷“ùðŽùîùï÷íŒöè‰õèˆæÙ€÷éŠ÷êŠîá…öæˆõå‡ôä‡áÑ{ëÖ~òðèÜÄrï×}íÕ|äÌwâÊvàÈußÇtÜÅsï×~îÖ}ìÔ|éÑzçÏyåÍxåÎxãËwðØÚÅtåÞÆÐ¸kζjÌ´iʲhȰgÁªcÚÂqÖ¾oÔ¼nÓ»mѹl͵j˳iÛÃrÕ½oÓ¼nËÁ åÞÈÁ©b¶ž\´œ[¿§a¾¦a½¥`¼¤`»£_º¢_¸¡^·Ÿ]· ]µ\³›[Æ®fÅ­eĬeëd¢—y©ž€ ˆO¡ŠP­•W«“V©‘U¨T§T¥S¤ŒR£‹R ‰Pœ…N°˜Y®–XŽwE—J•}Iœ„M˜K”|IŸ‡OŒ}\‡oAŒtDˆpB†oA„m@‘yGi=‚j>zb9ya9lY:nV2mU2kT1jZBdM.bM1bM2×××ÿÿÿ!ù|,×€eJHHIO|ˆ#!:Nˆ|_ UH`@F78bŽ7 * 4i_Sf$A"°%4?_KWD&]|g#XF;* f|W#B   4.Z|[#-7#)371?\|U'E+å(!602GSH|40p N„¨‘Š&UÂXáó!‰x¼xB$H•,TèìADeŒNˆƒeL9=©aÓdˆ’/WÚàAãÈ‘9G˜h‰“GJÍšoÖ±sç§Q/z¢ý;src/site/resources/sample-maven-shared-io-report/images/icon_sortleft.gif0000755000175000017500000000017111330102016026211 0ustar user03user03GIF89a³ÿÿÿj´?S‡-˜ðZ}­ZÜ÷ÈJt)ÿÿÿ!ù,&ÉI«½XŠLÅášñq‚AŒXIœ™Jèu  Îö=ÄÙÁ÷  0;src/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.Location.html0000755000175000017500000001360011330102017032640 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.Location
 
Classes in this File Line Coverage Branch Coverage Complexity
Location
N/A
N/A
1
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import java.io.File;
 4  
 import java.io.IOException;
 5  
 import java.nio.ByteBuffer;
 6  
 
 7  
 public interface Location
 8  
 {
 9  
     
 10  
     File getFile() throws IOException;
 11  
     
 12  
     void open() throws IOException;
 13  
     
 14  
     void close();
 15  
     
 16  
     int read( ByteBuffer buffer ) throws IOException;
 17  
     
 18  
     int read( byte[] buffer ) throws IOException;
 19  
     
 20  
     String getSpecification();
 21  
 
 22  
 }
././@LongLink0000000000000000000000000000017300000000000011566 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.ClasspathResourceLocatorStrategy.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.ClasspathResour0000755000175000017500000002537011330102017033256 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.ClasspathResourceLocatorStrategy
 
Classes in this File Line Coverage Branch Coverage Complexity
ClasspathResourceLocatorStrategy
100%
19/19
100%
1/1
1.333
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import java.net.URL;
 4  
 
 5  
 import org.apache.maven.shared.io.logging.MessageHolder;
 6  
 
 7  
 public class ClasspathResourceLocatorStrategy
 8  
     implements LocatorStrategy
 9  
 {
 10  
 
 11  4
     private String tempFilePrefix = "location.";
 12  
 
 13  4
     private String tempFileSuffix = ".cpurl";
 14  
 
 15  4
     private boolean tempFileDeleteOnExit = true;
 16  
 
 17  3
     public ClasspathResourceLocatorStrategy()
 18  
     {
 19  3
     }
 20  
 
 21  1
     public ClasspathResourceLocatorStrategy( String tempFilePrefix, String tempFileSuffix, boolean tempFileDeleteOnExit )
 22  
     {
 23  1
         this.tempFilePrefix = tempFilePrefix;
 24  1
         this.tempFileSuffix = tempFileSuffix;
 25  1
         this.tempFileDeleteOnExit = tempFileDeleteOnExit;
 26  1
     }
 27  
 
 28  
     public Location resolve( String locationSpecification, MessageHolder messageHolder )
 29  
     {
 30  2
         ClassLoader cloader = Thread.currentThread().getContextClassLoader();
 31  
 
 32  2
         URL resource = cloader.getResource( locationSpecification );
 33  
 
 34  2
         Location location = null;
 35  
 
 36  2
         if ( resource != null )
 37  
         {
 38  2
             location = new URLLocation( resource, locationSpecification, tempFilePrefix, tempFileSuffix,
 39  1
                                         tempFileDeleteOnExit );
 40  
         }
 41  
         else
 42  
         {
 43  2
             messageHolder.addMessage( "Failed to resolve classpath resource: " + locationSpecification
 44  1
                 + " from classloader: " + cloader );
 45  
         }
 46  
 
 47  2
         return location;
 48  
     }
 49  
 
 50  
 }
././@LongLink0000000000000000000000000000015300000000000011564 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.logging.htmlsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.loggin0000755000175000017500000000305111330102017033205 0ustar user03user03 Coverage Report Classes
org.apache.maven.shared.io.logging
 
Classes
DefaultMessageHolder (45%)
MessageHolder (N/A)
MessageLevels (82%)
MessageSink (N/A)
MojoLogSink (0%)
MultiChannelMessageHolder (N/A)
PlexusLoggerSink (0%)
././@LongLink0000000000000000000000000000016700000000000011571 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.AbstractResourceInclusionScanner.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.AbstractResourceInc0000755000175000017500000004204211330102017033150 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan.AbstractResourceInclusionScanner
 
Classes in this File Line Coverage Branch Coverage Complexity
AbstractResourceInclusionScanner
0%
0/19
0%
0/2
1.667
 
 1  
 package org.apache.maven.shared.io.scan;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2005 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License");
 7  
  * you may not use this file except in compliance with the License.
 8  
  * You may obtain a copy of the License at
 9  
  *
 10  
  *      http://www.apache.org/licenses/LICENSE-2.0
 11  
  *
 12  
  * Unless required by applicable law or agreed to in writing, software
 13  
  * distributed under the License is distributed on an "AS IS" BASIS,
 14  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15  
  * See the License for the specific language governing permissions and
 16  
  * limitations under the License.
 17  
  */
 18  
 
 19  
 import org.apache.maven.shared.io.scan.mapping.SourceMapping;
 20  
 import org.codehaus.plexus.util.DirectoryScanner;
 21  
 
 22  
 import java.io.File;
 23  
 import java.util.ArrayList;
 24  
 import java.util.Collections;
 25  
 import java.util.List;
 26  
 import java.util.Set;
 27  
 
 28  
 /**
 29  
  * @author jdcasey
 30  
  * @version $Id: org.apache.maven.shared.io.scan.AbstractResourceInclusionScanner.html 2271 2006-08-22 15:19:41Z joakime $
 31  
  */
 32  0
 public abstract class AbstractResourceInclusionScanner
 33  
     implements ResourceInclusionScanner
 34  
 {
 35  0
     private final List sourceMappings = new ArrayList();
 36  
 
 37  
     public final void addSourceMapping( SourceMapping sourceMapping )
 38  
     {
 39  0
         sourceMappings.add( sourceMapping );
 40  0
     }
 41  
 
 42  
     protected final List getSourceMappings()
 43  
     {
 44  0
         return Collections.unmodifiableList( sourceMappings );
 45  
     }
 46  
 
 47  
     protected String[] scanForSources( File sourceDir, Set sourceIncludes, Set sourceExcludes )
 48  
     {
 49  0
         DirectoryScanner ds = new DirectoryScanner();
 50  0
         ds.setFollowSymlinks( true );
 51  0
         ds.setBasedir( sourceDir );
 52  
 
 53  
         String[] includes;
 54  0
         if ( sourceIncludes.isEmpty() )
 55  
         {
 56  0
             includes = new String[0];
 57  
         }
 58  
         else
 59  
         {
 60  0
             includes = (String[]) sourceIncludes.toArray( new String[sourceIncludes.size()] );
 61  
         }
 62  
 
 63  0
         ds.setIncludes( includes );
 64  
 
 65  
         String[] excludes;
 66  0
         if ( sourceExcludes.isEmpty() )
 67  
         {
 68  0
             excludes = new String[0];
 69  
         }
 70  
         else
 71  
         {
 72  0
             excludes = (String[]) sourceExcludes.toArray( new String[sourceExcludes.size()] );
 73  
         }
 74  
 
 75  0
         ds.setExcludes( excludes );
 76  0
         ds.addDefaultExcludes();
 77  
 
 78  0
         ds.scan();
 79  
 
 80  0
         return ds.getIncludedFiles();
 81  
     }
 82  
 }
././@LongLink0000000000000000000000000000016200000000000011564 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.mapping.SingleTargetMapping.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.mapping.SingleTarge0000755000175000017500000002672411330102017033112 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan.mapping.SingleTargetMapping
 
Classes in this File Line Coverage Branch Coverage Complexity
SingleTargetMapping
100%
7/7
100%
1/1
2
 
 1  
 package org.apache.maven.shared.io.scan.mapping;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2005 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 7  
  * in compliance with the License. You may obtain a copy of the License at
 8  
  *
 9  
  * http://www.apache.org/licenses/LICENSE-2.0
 10  
  *
 11  
  * Unless required by applicable law or agreed to in writing, software distributed under the License
 12  
  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 13  
  * or implied. See the License for the specific language governing permissions and limitations under
 14  
  * the License.
 15  
  */
 16  
 
 17  
 import org.apache.maven.shared.io.scan.InclusionScanException;
 18  
 
 19  
 import java.util.Set;
 20  
 import java.util.Collections;
 21  
 import java.io.File;
 22  
 
 23  
 /**
 24  
  * Maps a set of input files to a single output file.
 25  
  *
 26  
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
 27  
  * @version $Id: org.apache.maven.shared.io.scan.mapping.SingleTargetMapping.html 2271 2006-08-22 15:19:41Z joakime $
 28  
  */
 29  
 public class SingleTargetMapping
 30  
     implements SourceMapping
 31  
 {
 32  
     private String sourceSuffix;
 33  
 
 34  
     private String outputFile;
 35  
 
 36  1
     public SingleTargetMapping( String sourceSuffix, String outputFile )
 37  
     {
 38  1
         this.sourceSuffix = sourceSuffix;
 39  
 
 40  1
         this.outputFile = outputFile;
 41  1
     }
 42  
 
 43  
     public Set getTargetFiles( File targetDir, String source )
 44  
         throws InclusionScanException
 45  
     {
 46  2
         if ( !source.endsWith( sourceSuffix ) )
 47  
         {
 48  1
             return Collections.EMPTY_SET;
 49  
         }
 50  
 
 51  1
         return Collections.singleton( new File( targetDir, outputFile ) );
 52  
     }
 53  
 }
././@LongLink0000000000000000000000000000016500000000000011567 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.SimpleResourceInclusionScanner.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.SimpleResourceInclu0000755000175000017500000002710111330102017033176 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan.SimpleResourceInclusionScanner
 
Classes in this File Line Coverage Branch Coverage Complexity
SimpleResourceInclusionScanner
0%
0/8
0%
0/1
2
 
 1  
 package org.apache.maven.shared.io.scan;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2005 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 7  
  * in compliance with the License. You may obtain a copy of the License at
 8  
  *
 9  
  * http://www.apache.org/licenses/LICENSE-2.0
 10  
  *
 11  
  * Unless required by applicable law or agreed to in writing, software distributed under the License
 12  
  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 13  
  * or implied. See the License for the specific language governing permissions and limitations under
 14  
  * the License.
 15  
  */
 16  
 
 17  
 import java.io.File;
 18  
 import java.util.Collections;
 19  
 import java.util.List;
 20  
 import java.util.Set;
 21  
 
 22  
 /**
 23  
  * @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
 24  
  * @version $Id: org.apache.maven.shared.io.scan.SimpleResourceInclusionScanner.html 2271 2006-08-22 15:19:41Z joakime $
 25  
  */
 26  
 public class SimpleResourceInclusionScanner
 27  
     extends AbstractResourceInclusionScanner
 28  
 {
 29  
     private Set sourceIncludes;
 30  
 
 31  
     private Set sourceExcludes;
 32  
 
 33  0
     public SimpleResourceInclusionScanner( Set sourceIncludes, Set sourceExcludes )
 34  
     {
 35  0
         this.sourceIncludes = sourceIncludes;
 36  
 
 37  0
         this.sourceExcludes = sourceExcludes;
 38  0
     }
 39  
 
 40  
     public Set getIncludedSources( File sourceDir, File targetDir )
 41  
         throws InclusionScanException
 42  
     {
 43  0
         List srcMappings = getSourceMappings();
 44  
 
 45  0
         if ( srcMappings.isEmpty() )
 46  
         {
 47  0
             return Collections.EMPTY_SET;
 48  
         }
 49  
 
 50  0
         return Collections.singleton( scanForSources( sourceDir, sourceIncludes, sourceExcludes ) );
 51  
     }
 52  
 }
././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.download.htmlsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.downlo0000755000175000017500000000174611330102017033241 0ustar user03user03 Coverage Report Classes
org.apache.maven.shared.io.download
 
Classes
DefaultDownloadManager (95%)
DownloadFailedException (100%)
DownloadManager (N/A)
src/site/resources/sample-maven-shared-io-report/frame-summary.html0000755000175000017500000001567111330102017025072 0ustar user03user03 Coverage Report
Coverage Report - All Packages
 
Package # Classes Line Coverage Branch Coverage Complexity
All Packages28
65%
328/508
67%
37/55
1.462
org.apache.maven.shared.io.download3
95%
62/65
100%
6/6
3.556
org.apache.maven.shared.io.location10
99%
155/156
100%
16/16
1.538
org.apache.maven.shared.io.logging8
43%
89/207
57%
12/21
1.25
org.apache.maven.shared.io.scan5
0%
0/58
0%
0/9
1.769
org.apache.maven.shared.io.scan.mapping3
100%
22/22
100%
3/3
1.667
././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.location.htmlsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.locati0000755000175000017500000000402311330102017033201 0ustar user03user03 Coverage Report Classes
org.apache.maven.shared.io.location
 
Classes
ArtifactLocation (100%)
ArtifactLocatorStrategy (100%)
ClasspathResourceLocatorStrategy (100%)
FileLocation (96%)
FileLocatorStrategy (100%)
Location (N/A)
Locator (100%)
LocatorStrategy (N/A)
URLLocation (100%)
URLLocatorStrategy (100%)
././@LongLink0000000000000000000000000000016000000000000011562 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.scan.mapping.htmlsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.scan.m0000755000175000017500000000173111330102017033110 0ustar user03user03 Coverage Report Classes
org.apache.maven.shared.io.scan.mapping
 
Classes
SingleTargetMapping (100%)
SourceMapping (N/A)
SuffixMapping (100%)
src/site/resources/sample-maven-shared-io-report/help.html0000755000175000017500000000210411330102017023220 0ustar user03user03 Coverage Report - Help
Line Coverage
The percent of lines executed by this test run.
Branch Coverage
The percent of branches executed by this test run.
Complexity
Average McCabe's cyclomatic code complexity for all methods. This is basically a count of the number of different code paths in a method (incremented by 1 for each if statement, while loop, etc.)
N/A
Line coverage and branch coverage will appear as "Not Applicable" when Cobertura can not find line number information in the .class file. This happens for stub and skeleton classes, interfaces, or when the class was not compiled with "debug=true."
././@LongLink0000000000000000000000000000015500000000000011566 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.InclusionScanException.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.InclusionScanExcept0000755000175000017500000002106411330102017033165 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan.InclusionScanException
 
Classes in this File Line Coverage Branch Coverage Complexity
InclusionScanException
0%
0/4
N/A
1
 
 1  
 package org.apache.maven.shared.io.scan;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2005 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License");
 7  
  * you may not use this file except in compliance with the License.
 8  
  * You may obtain a copy of the License at
 9  
  *
 10  
  *      http://www.apache.org/licenses/LICENSE-2.0
 11  
  *
 12  
  * Unless required by applicable law or agreed to in writing, software
 13  
  * distributed under the License is distributed on an "AS IS" BASIS,
 14  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15  
  * See the License for the specific language governing permissions and
 16  
  * limitations under the License.
 17  
  */
 18  
 
 19  
 /**
 20  
  * @author jdcasey
 21  
  * @version $Id: org.apache.maven.shared.io.scan.InclusionScanException.html 2271 2006-08-22 15:19:41Z joakime $
 22  
  */
 23  
 public class InclusionScanException
 24  
     extends Exception
 25  
 {
 26  
     public InclusionScanException( String message )
 27  
     {
 28  0
         super( message );
 29  0
     }
 30  
 
 31  
     public InclusionScanException( String message, Throwable cause )
 32  
     {
 33  0
         super( message, cause );
 34  0
     }
 35  
 }
src/site/resources/sample-maven-shared-io-report/frame-summary-org.apache.maven.shared.io.scan.html0000755000175000017500000002107411330102017032774 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan
 
Package # Classes Line Coverage Branch Coverage Complexity
org.apache.maven.shared.io.scan5
0%
0/58
0%
0/9
1.769
org.apache.maven.shared.io.scan.mapping3
100%
22/22
100%
3/3
1.667
 
Classes in this Package Line Coverage Branch Coverage Complexity
AbstractResourceInclusionScanner
0%
0/19
0%
0/2
1.667
InclusionScanException
0%
0/4
N/A
1
ResourceInclusionScanner
N/A
N/A
1
SimpleResourceInclusionScanner
0%
0/8
0%
0/1
2
StaleResourceScanner
0%
0/27
0%
0/6
2.5
././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.scan.htmlsrc/site/resources/sample-maven-shared-io-report/frame-sourcefiles-org.apache.maven.shared.io.scan.h0000755000175000017500000000250711330102017033105 0ustar user03user03 Coverage Report Classes
org.apache.maven.shared.io.scan
 
Classes
AbstractResourceInclusionScanner (0%)
InclusionScanException (0%)
ResourceInclusionScanner (N/A)
SimpleResourceInclusionScanner (0%)
StaleResourceScanner (0%)
././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MessageLevels.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MessageLevels.ht0000755000175000017500000003703411330102017033123 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.logging.MessageLevels
 
Classes in this File Line Coverage Branch Coverage Complexity
MessageLevels
82%
18/22
100%
1/1
3.667
 
 1  
 package org.apache.maven.shared.io.logging;
 2  
 
 3  
 import java.util.ArrayList;
 4  
 import java.util.Arrays;
 5  
 import java.util.Collections;
 6  
 import java.util.List;
 7  
 
 8  
 
 9  
 public final class MessageLevels
 10  
 {
 11  
 
 12  
     public static final int LEVEL_DEBUG = 0;
 13  
     public static final int LEVEL_INFO = 1;
 14  
     public static final int LEVEL_WARNING = 2;
 15  
     public static final int LEVEL_ERROR = 3;
 16  
     public static final int LEVEL_SEVERE = 4;
 17  
     public static final int LEVEL_DISABLED = 5;
 18  
     
 19  
     private static final List LEVEL_NAMES;
 20  
     
 21  
     static
 22  
     {
 23  1
         List names = new ArrayList();
 24  1
         names.add( "DEBUG" );
 25  1
         names.add( "INFO" );
 26  1
         names.add( "WARN" );
 27  1
         names.add( "ERROR" );
 28  1
         names.add( "SEVERE" );
 29  
         
 30  1
         LEVEL_NAMES = Collections.unmodifiableList( names );
 31  1
     }
 32  
     
 33  
     private MessageLevels()
 34  0
     {
 35  0
     }
 36  
     
 37  
     public static boolean[] getLevelStates( int maxMessageLevel )
 38  
     {
 39  50
         boolean[] states = new boolean[5];
 40  
         
 41  50
         Arrays.fill( states, false );
 42  
         
 43  50
         switch ( maxMessageLevel )
 44  
         {
 45  
         case (LEVEL_DEBUG): {
 46  0
             states[LEVEL_DEBUG] = true;
 47  
         }
 48  
         case (LEVEL_INFO): {
 49  50
             states[LEVEL_INFO] = true;
 50  
         }
 51  
         case (LEVEL_WARNING): {
 52  50
             states[LEVEL_WARNING] = true;
 53  
         }
 54  
         case (LEVEL_ERROR): {
 55  50
             states[LEVEL_ERROR] = true;
 56  
         }
 57  
         case (LEVEL_SEVERE): {
 58  50
             states[LEVEL_SEVERE] = true;
 59  
         }
 60  
         }
 61  
         
 62  50
         return states;
 63  
     }
 64  
 
 65  
     public static String getLevelLabel( int messageLevel )
 66  
     {
 67  56
         if ( messageLevel > -1 && LEVEL_NAMES.size() > messageLevel )
 68  
         {
 69  56
             return (String) LEVEL_NAMES.get( messageLevel );
 70  
         }
 71  
         
 72  0
         throw new IllegalArgumentException( "Invalid message level: " + messageLevel );
 73  
     }
 74  
 }
././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.FileLocation.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.FileLocation.ht0000755000175000017500000004562111330102017033117 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.FileLocation
 
Classes in this File Line Coverage Branch Coverage Complexity
FileLocation
96%
26/27
100%
3/3
1.455
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import java.io.File;
 4  
 import java.io.FileInputStream;
 5  
 import java.io.IOException;
 6  
 import java.nio.ByteBuffer;
 7  
 import java.nio.channels.FileChannel;
 8  
 
 9  
 
 10  
 public class FileLocation
 11  
     implements Location
 12  
 {
 13  
 
 14  
     private File file;
 15  
     private FileChannel channel;
 16  
     private final String specification;
 17  
     
 18  5
     public FileLocation( File file, String specification )
 19  
     {
 20  5
         this.file = file;
 21  5
         this.specification = specification;
 22  5
     }
 23  
     
 24  16
     protected FileLocation( String specification )
 25  
     {
 26  16
         this.specification = specification;
 27  16
     }
 28  
 
 29  
     public void close()
 30  
     {
 31  1
         if ( channel != null && channel.isOpen() )
 32  
         {
 33  
             try
 34  
             {
 35  1
                 channel.close();
 36  
             }
 37  0
             catch ( IOException e )
 38  
             {
 39  
                 //swallow it.
 40  
             }
 41  
         }        
 42  1
     }
 43  
 
 44  
     public File getFile()
 45  
         throws IOException
 46  
     {
 47  12
         initFile();
 48  
         
 49  12
         return unsafeGetFile();
 50  
     }
 51  
     
 52  
     protected File unsafeGetFile()
 53  
     {
 54  16
         return file;
 55  
     }
 56  
 
 57  
     protected void initFile()
 58  
         throws IOException
 59  
     {
 60  
         // TODO: Log this in the debug log-level...
 61  16
         if ( file == null )
 62  
         {
 63  2
             file = new File( specification );
 64  
         }
 65  16
     }
 66  
     
 67  
     protected void setFile( File file )
 68  
     {
 69  13
         if ( channel != null )
 70  
         {
 71  1
             throw new IllegalStateException( "Location is already open; cannot setFile(..)." ); 
 72  
         }
 73  
         
 74  12
         this.file = file;
 75  12
     }
 76  
 
 77  
     public String getSpecification()
 78  
     {
 79  2
         return specification;
 80  
     }
 81  
 
 82  
     public void open()
 83  
         throws IOException
 84  
     {
 85  8
         initFile();
 86  
         
 87  8
         channel = new FileInputStream( file ).getChannel();
 88  8
     }
 89  
 
 90  
     public int read( ByteBuffer buffer )
 91  
         throws IOException
 92  
     {
 93  1
         return channel.read( buffer );
 94  
     }
 95  
 
 96  
     public int read( byte[] buffer )
 97  
         throws IOException
 98  
     {
 99  5
         return channel.read( ByteBuffer.wrap( buffer ) );
 100  
     }
 101  
 
 102  
 }
././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.mapping.SuffixMapping.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.mapping.SuffixMappi0000755000175000017500000003375011330102017033136 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan.mapping.SuffixMapping
 
Classes in this File Line Coverage Branch Coverage Complexity
SuffixMapping
100%
15/15
100%
2/2
1.667
 
 1  
 package org.apache.maven.shared.io.scan.mapping;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2005 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License");
 7  
  * you may not use this file except in compliance with the License.
 8  
  * You may obtain a copy of the License at
 9  
  *
 10  
  *      http://www.apache.org/licenses/LICENSE-2.0
 11  
  *
 12  
  * Unless required by applicable law or agreed to in writing, software
 13  
  * distributed under the License is distributed on an "AS IS" BASIS,
 14  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15  
  * See the License for the specific language governing permissions and
 16  
  * limitations under the License.
 17  
  */
 18  
 
 19  
 import java.io.File;
 20  
 import java.util.Collections;
 21  
 import java.util.HashSet;
 22  
 import java.util.Iterator;
 23  
 import java.util.Set;
 24  
 
 25  
 /**
 26  
  * @author jdcasey
 27  
  * @version $Id: org.apache.maven.shared.io.scan.mapping.SuffixMapping.html 2271 2006-08-22 15:19:41Z joakime $
 28  
  */
 29  
 public final class SuffixMapping
 30  
     implements SourceMapping
 31  
 {
 32  
     private final String sourceSuffix;
 33  
 
 34  
     private final Set targetSuffixes;
 35  
 
 36  2
     public SuffixMapping( String sourceSuffix, String targetSuffix )
 37  
     {
 38  2
         this.sourceSuffix = sourceSuffix;
 39  
 
 40  2
         this.targetSuffixes = Collections.singleton( targetSuffix );
 41  2
     }
 42  
 
 43  2
     public SuffixMapping( String sourceSuffix, Set targetSuffixes )
 44  
     {
 45  2
         this.sourceSuffix = sourceSuffix;
 46  
 
 47  2
         this.targetSuffixes = Collections.unmodifiableSet( targetSuffixes );
 48  2
     }
 49  
 
 50  
     public Set getTargetFiles( File targetDir, String source )
 51  
     {
 52  4
         Set targetFiles = new HashSet();
 53  
 
 54  4
         if ( source.endsWith( sourceSuffix ) )
 55  
         {
 56  2
             String base = source.substring( 0, source.length() - sourceSuffix.length() );
 57  
 
 58  7
             for ( Iterator it = targetSuffixes.iterator(); it.hasNext(); )
 59  
             {
 60  3
                 String suffix = (String) it.next();
 61  
 
 62  3
                 targetFiles.add( new File( targetDir, base + suffix ) );
 63  
             }
 64  
         }
 65  
 
 66  4
         return targetFiles;
 67  
     }
 68  
 }
././@LongLink0000000000000000000000000000015600000000000011567 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.FileLocatorStrategy.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.FileLocatorStra0000755000175000017500000001550311330102017033166 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.FileLocatorStrategy
 
Classes in this File Line Coverage Branch Coverage Complexity
FileLocatorStrategy
100%
7/7
100%
1/1
2
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import java.io.File;
 4  
 
 5  
 import org.apache.maven.shared.io.logging.MessageHolder;
 6  
 
 7  3
 public class FileLocatorStrategy
 8  
     implements LocatorStrategy
 9  
 {
 10  
 
 11  
     public Location resolve( String locationSpecification, MessageHolder messageHolder )
 12  
     {
 13  2
         File file = new File( locationSpecification );
 14  
         
 15  2
         Location location = null;
 16  
         
 17  2
         if ( file.exists() )
 18  
         {
 19  1
             location = new FileLocation( file, locationSpecification );
 20  
         }
 21  
         else
 22  
         {
 23  1
             messageHolder.addMessage( "File: " + file.getAbsolutePath() + " does not exist." );
 24  
         }
 25  
         
 26  2
         return location;
 27  
     }
 28  
 
 29  
 }
src/site/resources/sample-maven-shared-io-report/css/0000755000175000017500000000000011330102017022172 5ustar user03user03src/site/resources/sample-maven-shared-io-report/css/help.css0000644000175000017500000000041011330102017023627 0ustar user03user03dl { float: left; width: 100%; } dt { border-top: 1px solid #808080; float: left; font-weight: bold; margin: 0; padding: 1em; width: 20%; } dd { border-top: 1px solid #808080; float: left; font-style: italic; margin: 0; padding: 1em; width: 60%; } src/site/resources/sample-maven-shared-io-report/css/source-viewer.css0000644000175000017500000000215511330102017025506 0ustar user03user03pre.src { background: #ffffff; margin-top: 0px; margin-bottom: 0px; } table.src { border: #dcdcdc 1px solid; font-size: 16px; } td.numLine { background: #f0f0f0; border-right: #dcdcdc 1px solid; padding-right: 3px; text-align: right; } td.numLineCover { background: #80ff80; border-right: #dcdcdc 1px solid; padding-right: 3px; text-align: right; } td.nbHits { background: #f0f0f0; border-right: #dcdcdc 1px solid; padding-right: 3px; text-align: right; } td.nbHitsCovered { background: #80ff80; border-right: #dcdcdc 1px solid; padding-right: 3px; text-align: right; } td.nbHitsUncovered { background: #ff9090; border-right: #dcdcdc 1px solid; font-weight: bold; padding-right: 3px; text-align: right; } td.src { width: 100%; } span.comment { color: #b22222; font-style: italic; } span.keyword { color: #2020bf; font-weight: bold; } span.srcUncovered { background: #ff9090; font-weight: bold; } span.string { color: #2a00ff; } span.text_italic { font-size: 12px; font-style: italic; } src/site/resources/sample-maven-shared-io-report/css/tooltip.css0000644000175000017500000000143411330102017024400 0ustar user03user03a.hastooltip { border-bottom: 1px dotted #00aa00; color: #000000; cursor: help; font-style: normal; position: relative; /* This is the key */ text-decoration: none; z-index: 24; /* What does this do? */ } a.hastooltip:active { color: #000000; text-decoration: none; } a.hastooltip:link { color: #000000; text-decoration: none; } a.hastooltip:hover { background-color: #a0b8ff; color: #000000; text-decoration: none; z-index: 25; } a.hastooltip:visited { color: #000000; text-decoration: none; } a.hastooltip span { display: none; } a.hastooltip:hover span { background-color: #eeeeee; border: 1px solid #000000; color: #000000; display: block; padding: 5px; left: -15.2em; position: absolute; text-align: center; text-decoration: none; top: 2em; width: 20em; } src/site/resources/sample-maven-shared-io-report/css/maven-base.css0000644000175000017500000000420311330102017024721 0ustar user03user03body { margin: 0px; padding: 0px 0px 10px 0px; } img { border:none; } table { padding:0px; width: 100%; margin-left: -2px; margin-right: -2px; } acronym { cursor: help; border-bottom: 1px dotted #feb; } table.bodyTable th, table.bodyTable td { padding: 2px 4px 2px 4px; vertical-align: top; } div.clear{ clear:both; visibility: hidden; } div.clear hr{ display: none; } #bannerLeft, #bannerRight { font-size: xx-large; font-weight: bold; } #bannerLeft img, #bannerRight img { margin: 8px; } .xleft, #bannerLeft img { float:left; text-shadow: #7CFC00; } .xright, #bannerRight img { float:right; text-shadow: #7CFC00; } #banner { border-bottom: 1px solid #fff; } #banner img { border: none; } #footer, #breadcrumbs { padding: 3px 10px 3px 10px; } #leftColumn { width: 18%; float:left; } #bodyColumn { margin-left: 20%; } #legend { padding: 8px 0 8px 0; } #navcolumn { padding: 8px 4px 0 8px; } #navcolumn h5, #navcolumn ul { margin: 0; padding: 0; font-size: small; } #navcolumn li { list-style-type: none; background-image: none; background-repeat: no-repeat; background-position: 0 0.4em; padding-left: 16px; list-style-position: ouside; line-height: 1.2em; font-size: smaller; } #navcolumn li.expanded { background-image: url(../images/expanded.gif); } #navcolumn li.collapsed { background-image: url(../images/collapsed.gif); } #poweredBy { text-align: center; } #navcolumn img { margin-top: 10px; margin-bottom: 3px; } #poweredBy img { display:block; margin: 20px 0 20px 17px; border: 1px solid black; width: 90px; height: 30px; } #search img { margin: 0px; display: block; } #search #q, #search #btnG { border: 1px solid #999; margin-bottom:10px; } #search form { margin: 0px; } #lastPublished { font-size: x-small; } .navSection { margin-bottom: 2px; padding: 8px; } .navSectionHead { font-weight: bold; font-size: x-small; } .section { padding: 4px; } #footer { font-size: x-small; } #breadcrumbs { font-size: x-small; margin: 0pt; } .source { padding: 12px; margin: 1em 7px 1em 7px; } .source pre { margin: 0px; padding: 0px; } src/site/resources/sample-maven-shared-io-report/css/maven-theme.css0000644000175000017500000000401311330102017025110 0ustar user03user03body, td, select, input, li{ font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; } a { text-decoration: none; } a:link { color:#36a; } a:visited { color:#47a; } a:active, a:hover { color:#69c; } #legend li.externalLink { background: url(../images/external.png) left top no-repeat; padding-left: 18px; } a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { background: url(../images/external.png) right center no-repeat; padding-right: 18px; } #legend li.newWindow { background: url(../images/newwindow.png) left top no-repeat; padding-left: 18px; } a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover { background: url(../images/newwindow.png) right center no-repeat; padding-right: 18px; } h2 { padding: 4px 4px 4px 6px; border: 1px solid #999; color: #900; background-color: #ddd; font-weight:900; font-size: x-large; } h3 { padding: 4px 4px 4px 6px; border: 1px solid #aaa; color: #900; background-color: #eee; font-weight: normal; font-size: large; } h4 { padding: 4px 4px 4px 6px; border: 1px solid #bbb; color: #900; background-color: #fff; font-weight: normal; font-size: large; } h5 { padding: 4px 4px 4px 6px; color: #900; font-size: normal; } p { line-height: 1.3em; font-size: small; } #breadcrumbs { border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; background-color: #ccc; } #leftColumn { margin: 10px 0 0 5px; border: 1px solid #999; background-color: #eee; } #navcolumn h5 { font-size: smaller; border-bottom: 1px solid #aaaaaa; padding-top: 2px; color: #000; } table.bodyTable th { color: white; background-color: #bbb; text-align: left; font-weight: bold; } table.bodyTable th, table.bodyTable td { font-size: 1em; } table.bodyTable tr.a { background-color: #ddd; } table.bodyTable tr.b { background-color: #eee; } .source { border: 1px solid #999; } dl { padding: 4px 4px 4px 6px; } dt { color: #900; } src/site/resources/sample-maven-shared-io-report/css/main.css0000644000175000017500000000327411330102017023636 0ustar user03user03@import url("help.css"); @import url("source-viewer.css"); @import url("tooltip.css"); .hidden { display: none; } a.dfn { border-bottom: 1px dotted #00aa00; cursor: help; } a.dfn:active, a.dfn:link, a.dfn:visited { color: #000000; text-decoration: none; } a.dfn:hover { color: #0000ff; text-decoration: none; } body { font-family: verdana, arial, helvetica; } h1, h2, h3, h4, h5, h6 { margin-bottom: 0.5em; } h5 { margin-top: 0.5em; } div.footer { font-size: 68%; margin-top: 1.5em; } div.percentgraph { background-color: #f02020; border: #808080 1px solid; height: 1.3em; magin: 0px; padding: 0px; width: 100px; } div.percentgraph div.greenbar { background-color: #00f000; height: 1.3em; magin: 0px; padding: 0px; } div.percentgraph div.na { background-color: #eaeaea; height: 1.3em; magin: 0px; padding: 0px; } div.percentgraph span.text { display: block; position: absolute; text-align: center; width: 100px; } div.separator { height: 10px; } table tr td, table tr th { font-size: 68%; } td.value table tr td { font-size: 11px; } table.percentgraph { border: 0px; font-size: 130%; margin: 0px; margin-left: auto; margin-right: 0px; padding: 0px; } table.percentgraph tr.percentgraph { border: 0px; margin: 0px; padding: 0px; } table.percentgraph td.percentgraph { border: 0px; margin: 0px; padding: 0px; padding-left: 4px; } table.report { border-collapse: collapse; width: 100%; } table.report td { border: #d0d0d0 1px solid; } table.report td.heading { background: #dcecff; font-weight: bold; text-align: center; } table.report td.heading:hover { background: #c0ffc0; cursor: pointer; } table.report td.value { text-align: right; } src/site/resources/sample-maven-shared-io-report/css/print.css0000644000175000017500000000031411330102017024036 0ustar user03user03#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn { display: none; } #bodyColumn, body.docs div.docs { margin: 0 !important; border: none !important } src/site/resources/sample-maven-shared-io-report/css/sortabletable.css0000644000175000017500000000164211330102017025532 0ustar user03user03.sort-table { font: Icon; border: 1px Solid ThreeDShadow; background: Window; color: WindowText; } .sort-table thead { background: ButtonFace; } .sort-table td { padding: 2px 5px; } .sort-table thead td { border: 1px solid; border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; cursor: default; } .sort-table thead td:active { border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; padding: 3px 4px 1px 6px; } .sort-table thead td[_sortType=None]:active { border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; padding: 2px 5px; } .sort-arrow { width: 11px; height: 11px; background-position: center center; background-repeat: no-repeat; margin: 0 2px; } .sort-arrow.descending { background-image: url("../images/downsimple.png"); } .sort-arrow.ascending { background-image: url("../images/upsimple.png"); }src/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.Locator.html0000755000175000017500000003303711330102017032501 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.Locator
 
Classes in this File Line Coverage Branch Coverage Complexity
Locator
100%
22/22
100%
1/1
1.125
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import java.util.ArrayList;
 4  
 import java.util.Iterator;
 5  
 import java.util.List;
 6  
 
 7  
 import org.apache.maven.shared.io.logging.DefaultMessageHolder;
 8  
 import org.apache.maven.shared.io.logging.MessageHolder;
 9  
 
 10  
 public final class Locator
 11  
 {
 12  
     
 13  
     private List strategies;
 14  
     private final MessageHolder messageHolder;
 15  
     
 16  3
     public Locator( List strategies, MessageHolder messageHolder )
 17  
     {
 18  3
         this.messageHolder = messageHolder;
 19  3
         this.strategies = new ArrayList( strategies );
 20  3
     }
 21  
     
 22  4
     public Locator()
 23  
     {
 24  4
         this.messageHolder = new DefaultMessageHolder();
 25  4
         this.strategies = new ArrayList();
 26  4
     }
 27  
     
 28  
     public MessageHolder getMessageHolder()
 29  
     {
 30  1
         return messageHolder;
 31  
     }
 32  
     
 33  
     public void addStrategy( LocatorStrategy strategy )
 34  
     {
 35  3
         this.strategies.add( strategy );
 36  3
     }
 37  
 
 38  
     public void removeStrategy( LocatorStrategy strategy )
 39  
     {
 40  1
         this.strategies.remove( strategy );
 41  1
     }
 42  
     
 43  
     public void setStrategies( List strategies )
 44  
     {
 45  1
         this.strategies.clear();
 46  1
         this.strategies.addAll( strategies );
 47  1
     }
 48  
 
 49  
     public List getStrategies()
 50  
     {
 51  4
         return strategies;
 52  
     }
 53  
     
 54  
     public Location resolve( String locationSpecification )
 55  
     {
 56  1
         Location location = null;
 57  
         
 58  5
         for ( Iterator it = strategies.iterator(); location == null && it.hasNext(); )
 59  
         {
 60  3
             LocatorStrategy strategy = (LocatorStrategy) it.next();
 61  
             
 62  3
             location = strategy.resolve( locationSpecification, messageHolder );
 63  
         }
 64  
         
 65  1
         return location;
 66  
     }
 67  
     
 68  
 }
././@LongLink0000000000000000000000000000014500000000000011565 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MessageSink.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MessageSink.html0000755000175000017500000001165711330102017033131 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.logging.MessageSink
 
Classes in this File Line Coverage Branch Coverage Complexity
MessageSink
N/A
N/A
1
 
 1  
 package org.apache.maven.shared.io.logging;
 2  
 
 3  
 
 4  
 public interface MessageSink
 5  
 {
 6  
     
 7  
     void debug( String message );
 8  
     
 9  
     void info( String message );
 10  
     
 11  
     void warning( String message );
 12  
     
 13  
     void error( String message );
 14  
     
 15  
     void severe( String message );
 16  
 
 17  
 }
././@LongLink0000000000000000000000000000016300000000000011565 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MultiChannelMessageHolder.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MultiChannelMess0000755000175000017500000000661111330102017033162 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.logging.MultiChannelMessageHolder
 
Classes in this File Line Coverage Branch Coverage Complexity
MultiChannelMessageHolder
N/A
N/A
0
 
 1  
 package org.apache.maven.shared.io.logging;
 2  
 
 3  
 
 4  
 public interface MultiChannelMessageHolder
 5  
 {
 6  
 
 7  
 }
././@LongLink0000000000000000000000000000015200000000000011563 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.LocatorStrategy.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.LocatorStrategy0000755000175000017500000000762311330102017033263 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.LocatorStrategy
 
Classes in this File Line Coverage Branch Coverage Complexity
LocatorStrategy
N/A
N/A
1
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import org.apache.maven.shared.io.logging.MessageHolder;
 4  
 
 5  
 public interface LocatorStrategy
 6  
 {
 7  
     
 8  
     Location resolve( String locationSpecification, MessageHolder messageHolder );
 9  
 
 10  
 }
././@LongLink0000000000000000000000000000015300000000000011564 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.ArtifactLocation.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.ArtifactLocatio0000755000175000017500000001107411330102017033200 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.ArtifactLocation
 
Classes in this File Line Coverage Branch Coverage Complexity
ArtifactLocation
100%
3/3
N/A
1
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import org.apache.maven.artifact.Artifact;
 4  
 
 5  
 public class ArtifactLocation
 6  
     extends FileLocation
 7  
 {
 8  
 
 9  
     public ArtifactLocation( Artifact artifact, String specification )
 10  
     {
 11  8
         super( specification );
 12  8
         setFile( artifact.getFile() );
 13  8
     }
 14  
 
 15  
 }
././@LongLink0000000000000000000000000000016200000000000011564 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.ArtifactLocatorStrategy.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.ArtifactLocator0000755000175000017500000006336311330102017033221 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.ArtifactLocatorStrategy
 
Classes in this File Line Coverage Branch Coverage Complexity
ArtifactLocatorStrategy
100%
48/48
100%
8/8
4.333
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import java.util.List;
 4  
 
 5  
 import org.apache.maven.artifact.Artifact;
 6  
 import org.apache.maven.artifact.factory.ArtifactFactory;
 7  
 import org.apache.maven.artifact.repository.ArtifactRepository;
 8  
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
 9  
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 10  
 import org.apache.maven.artifact.resolver.ArtifactResolver;
 11  
 import org.apache.maven.shared.io.logging.MessageHolder;
 12  
 
 13  
 public class ArtifactLocatorStrategy
 14  
     implements LocatorStrategy
 15  
 {
 16  
     private final ArtifactFactory factory;
 17  
 
 18  
     private final ArtifactResolver resolver;
 19  
 
 20  13
     private String defaultArtifactType = "jar";
 21  
 
 22  
     private final ArtifactRepository localRepository;
 23  
 
 24  
     private final List remoteRepositories;
 25  
 
 26  9
     public ArtifactLocatorStrategy( ArtifactFactory factory, ArtifactResolver resolver,
 27  
                                     ArtifactRepository localRepository, List remoteRepositories )
 28  
     {
 29  9
         this.factory = factory;
 30  9
         this.resolver = resolver;
 31  9
         this.localRepository = localRepository;
 32  9
         this.remoteRepositories = remoteRepositories;
 33  9
     }
 34  
 
 35  4
     public ArtifactLocatorStrategy( ArtifactFactory factory, ArtifactResolver resolver,
 36  
                                     ArtifactRepository localRepository, List remoteRepositories,
 37  
                                     String defaultArtifactType )
 38  
     {
 39  4
         this.factory = factory;
 40  4
         this.resolver = resolver;
 41  4
         this.localRepository = localRepository;
 42  4
         this.remoteRepositories = remoteRepositories;
 43  4
         this.defaultArtifactType = defaultArtifactType;
 44  4
     }
 45  
 
 46  
     /**
 47  
      * Assumes artifact identity is given in a set of comma-delimited tokens of
 48  
      * the form: <code>groupId:artifactId:version:type:classifier</code>, where
 49  
      * type and classifier are optional.
 50  
      */
 51  
     public Location resolve( String locationSpecification, MessageHolder messageHolder )
 52  
     {
 53  11
         String[] parts = locationSpecification.split( ":" );
 54  
 
 55  11
         Location location = null;
 56  
 
 57  11
         if ( parts.length > 2 )
 58  
         {
 59  9
             String groupId = parts[0];
 60  9
             String artifactId = parts[1];
 61  9
             String version = parts[2];
 62  
 
 63  9
             String type = defaultArtifactType;
 64  9
             if ( parts.length > 3 )
 65  
             {
 66  4
                 if ( parts[3].trim().length() > 0 )
 67  
                 {
 68  3
                     type = parts[3];
 69  
                 }
 70  
             }
 71  
 
 72  9
             String classifier = null;
 73  9
             if ( parts.length > 4 )
 74  
             {
 75  3
                 classifier = parts[4];
 76  
             }
 77  
 
 78  9
             if ( parts.length > 5 )
 79  
             {
 80  1
                 messageHolder.newMessage().append( "Location specification has unused tokens: \'" );
 81  
 
 82  3
                 for ( int i = 5; i < parts.length; i++ )
 83  
                 {
 84  2
                     messageHolder.append( ":" + parts[i] );
 85  
                 }
 86  
             }
 87  
 
 88  
             Artifact artifact;
 89  9
             if ( classifier == null )
 90  
             {
 91  6
                 artifact = factory.createArtifact( groupId, artifactId, version, null, type );
 92  
             }
 93  
             else
 94  
             {
 95  3
                 artifact = factory.createArtifactWithClassifier( groupId, artifactId, version, type, classifier );
 96  
             }
 97  
 
 98  
             try
 99  
             {
 100  9
                 resolver.resolve( artifact, remoteRepositories, localRepository );
 101  
 
 102  7
                 if ( artifact.getFile() != null )
 103  
                 {
 104  6
                     location = new ArtifactLocation( artifact, locationSpecification );
 105  
                 }
 106  
                 else
 107  
                 {
 108  2
                     messageHolder.addMessage( "Supposedly resolved artifact: " + artifact.getId()
 109  1
                         + " does not have an associated file." );
 110  
                 }
 111  
             }
 112  1
             catch ( ArtifactResolutionException e )
 113  
             {
 114  2
                 messageHolder.addMessage( "Failed to resolve artifact: " + artifact.getId() + " for location: "
 115  1
                     + locationSpecification, e );
 116  
             }
 117  1
             catch ( ArtifactNotFoundException e )
 118  
             {
 119  2
                 messageHolder.addMessage( "Failed to resolve artifact: " + artifact.getId() + " for location: "
 120  1
                     + locationSpecification, e );
 121  
             }
 122  
         }
 123  
         else
 124  
         {
 125  4
             messageHolder.addMessage( "Invalid artifact specification: \'" + locationSpecification
 126  2
                 + "\'. Must contain at least three fields, separated by ':'." );
 127  
         }
 128  
 
 129  11
         return location;
 130  
     }
 131  
 
 132  
 }
src/site/resources/sample-maven-shared-io-report/index.html0000755000175000017500000000174011330102017023404 0ustar user03user03 Coverage Report <body> <p>This document is designed to be viewed using the frames feature. If you see this message, you are using a frame-incapable web client.</p> <p><a href="frame-summary.html">Click here to view a non-frame version.</a></p> </body> ././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.mapping.SourceMapping.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.mapping.SourceMappi0000755000175000017500000002013411330102017033122 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan.mapping.SourceMapping
 
Classes in this File Line Coverage Branch Coverage Complexity
SourceMapping
N/A
N/A
1
 
 1  
 package org.apache.maven.shared.io.scan.mapping;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2005 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License");
 7  
  * you may not use this file except in compliance with the License.
 8  
  * You may obtain a copy of the License at
 9  
  *
 10  
  *      http://www.apache.org/licenses/LICENSE-2.0
 11  
  *
 12  
  * Unless required by applicable law or agreed to in writing, software
 13  
  * distributed under the License is distributed on an "AS IS" BASIS,
 14  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 15  
  * See the License for the specific language governing permissions and
 16  
  * limitations under the License.
 17  
  */
 18  
 
 19  
 import org.apache.maven.shared.io.scan.InclusionScanException;
 20  
 
 21  
 import java.io.File;
 22  
 import java.util.Set;
 23  
 
 24  
 /**
 25  
  * @author jdcasey
 26  
  * @version $Id: org.apache.maven.shared.io.scan.mapping.SourceMapping.html 2271 2006-08-22 15:19:41Z joakime $
 27  
  */
 28  
 public interface SourceMapping
 29  
 {
 30  
     Set getTargetFiles( File targetDir, String source )
 31  
         throws InclusionScanException;
 32  
 }
././@LongLink0000000000000000000000000000015500000000000011566 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.URLLocatorStrategy.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.URLLocatorStrat0000755000175000017500000002470411330102017033140 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.URLLocatorStrategy
 
Classes in this File Line Coverage Branch Coverage Complexity
URLLocatorStrategy
100%
17/17
N/A
1.333
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import java.net.MalformedURLException;
 4  
 import java.net.URL;
 5  
 
 6  
 import org.apache.maven.shared.io.logging.MessageHolder;
 7  
 
 8  
 public class URLLocatorStrategy
 9  
     implements LocatorStrategy
 10  
 {
 11  
 
 12  4
     private String tempFilePrefix = "location.";
 13  
 
 14  4
     private String tempFileSuffix = ".url";
 15  
 
 16  4
     private boolean tempFileDeleteOnExit = true;
 17  
 
 18  3
     public URLLocatorStrategy()
 19  
     {
 20  3
     }
 21  
 
 22  1
     public URLLocatorStrategy( String tempFilePrefix, String tempFileSuffix, boolean tempFileDeleteOnExit )
 23  
     {
 24  1
         this.tempFilePrefix = tempFilePrefix;
 25  1
         this.tempFileSuffix = tempFileSuffix;
 26  1
         this.tempFileDeleteOnExit = tempFileDeleteOnExit;
 27  1
     }
 28  
 
 29  
     public Location resolve( String locationSpecification, MessageHolder messageHolder )
 30  
     {
 31  2
         Location location = null;
 32  
 
 33  
         try
 34  
         {
 35  2
             URL url = new URL( locationSpecification );
 36  
 
 37  2
             location = new URLLocation( url, locationSpecification, tempFilePrefix, tempFileSuffix,
 38  1
                                         tempFileDeleteOnExit );
 39  
         }
 40  1
         catch ( MalformedURLException e )
 41  
         {
 42  1
             messageHolder.addMessage( "Building URL from location: " + locationSpecification, e );
 43  
         }
 44  
 
 45  2
         return location;
 46  
     }
 47  
 
 48  
 }
././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MessageHolder.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MessageHolder.ht0000755000175000017500000004431511330102017033106 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.logging.MessageHolder
 
Classes in this File Line Coverage Branch Coverage Complexity
MessageHolder
N/A
N/A
1
 
 1  
 package org.apache.maven.shared.io.logging;
 2  
 
 3  
 
 4  
 public interface MessageHolder
 5  
 {
 6  
     
 7  
     MessageHolder newMessage();
 8  
     
 9  
     MessageHolder newDebugMessage();
 10  
     
 11  
     MessageHolder newInfoMessage();
 12  
     
 13  
     MessageHolder newWarningMessage();
 14  
     
 15  
     MessageHolder newErrorMessage();
 16  
     
 17  
     MessageHolder newSevereMessage();
 18  
     
 19  
     MessageHolder append( CharSequence messagePart );
 20  
 
 21  
     MessageHolder append( Throwable error );
 22  
     
 23  
     MessageHolder addMessage( CharSequence messagePart, Throwable error );
 24  
     
 25  
     MessageHolder addMessage( CharSequence messagePart );
 26  
 
 27  
     MessageHolder addMessage( Throwable error );
 28  
     
 29  
     MessageHolder addDebugMessage( CharSequence messagePart, Throwable error );
 30  
     
 31  
     MessageHolder addDebugMessage( CharSequence messagePart );
 32  
 
 33  
     MessageHolder addDebugMessage( Throwable error );
 34  
     
 35  
     MessageHolder addInfoMessage( CharSequence messagePart, Throwable error );
 36  
     
 37  
     MessageHolder addInfoMessage( CharSequence messagePart );
 38  
 
 39  
     MessageHolder addInfoMessage( Throwable error );
 40  
     
 41  
     MessageHolder addWarningMessage( CharSequence messagePart, Throwable error );
 42  
     
 43  
     MessageHolder addWarningMessage( CharSequence messagePart );
 44  
 
 45  
     MessageHolder addWarningMessage( Throwable error );
 46  
     
 47  
     MessageHolder addErrorMessage( CharSequence messagePart, Throwable error );
 48  
     
 49  
     MessageHolder addErrorMessage( CharSequence messagePart );
 50  
 
 51  
     MessageHolder addErrorMessage( Throwable error );
 52  
     
 53  
     MessageHolder addSevereMessage( CharSequence messagePart, Throwable error );
 54  
     
 55  
     MessageHolder addSevereMessage( CharSequence messagePart );
 56  
 
 57  
     MessageHolder addSevereMessage( Throwable error );
 58  
     
 59  
     int size();
 60  
     
 61  
     int countMessages();
 62  
     
 63  
     int countDebugMessages();
 64  
     
 65  
     int countInfoMessages();
 66  
     
 67  
     int countWarningMessages();
 68  
     
 69  
     int countErrorMessages();
 70  
     
 71  
     int countSevereMessages();
 72  
     
 73  
     boolean isDebugEnabled();
 74  
     
 75  
     void setDebugEnabled( boolean enabled );
 76  
     
 77  
     boolean isInfoEnabled();
 78  
     
 79  
     void setInfoEnabled( boolean enabled );
 80  
     
 81  
     boolean isWarningEnabled();
 82  
     
 83  
     void setWarningEnabled( boolean enabled );
 84  
     
 85  
     boolean isErrorEnabled();
 86  
     
 87  
     void setErrorEnabled( boolean enabled );
 88  
     
 89  
     boolean isSevereEnabled();
 90  
     
 91  
     void setSevereEnabled( boolean enabled );
 92  
     
 93  
     boolean isEmpty();
 94  
     
 95  
     String render();
 96  
     
 97  
     void render( MessageSink sink );
 98  
     
 99  
     void flush();
 100  
 
 101  
 }
././@LongLink0000000000000000000000000000014600000000000011566 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.URLLocation.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.location.URLLocation.htm0000755000175000017500000002517111330102017033055 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location.URLLocation
 
Classes in this File Line Coverage Branch Coverage Complexity
URLLocation
100%
13/13
100%
2/2
2
 
 1  
 package org.apache.maven.shared.io.location;
 2  
 
 3  
 import java.io.File;
 4  
 import java.io.IOException;
 5  
 import java.net.URL;
 6  
 
 7  
 import org.codehaus.plexus.util.FileUtils;
 8  
 
 9  
 public class URLLocation
 10  
     extends FileLocation
 11  
 {
 12  
 
 13  
     private final URL url;
 14  
 
 15  
     private final String tempFilePrefix;
 16  
 
 17  
     private final String tempFileSuffix;
 18  
 
 19  
     private final boolean tempFileDeleteOnExit;
 20  
 
 21  
     public URLLocation( URL url, String specification, String tempFilePrefix, String tempFileSuffix,
 22  
                         boolean tempFileDeleteOnExit )
 23  
     {
 24  5
         super( specification );
 25  
 
 26  5
         this.url = url;
 27  5
         this.tempFilePrefix = tempFilePrefix;
 28  5
         this.tempFileSuffix = tempFileSuffix;
 29  5
         this.tempFileDeleteOnExit = tempFileDeleteOnExit;
 30  5
     }
 31  
 
 32  
     protected void initFile()
 33  
         throws IOException
 34  
     {
 35  
         // TODO: Log this in the debug log-level...
 36  4
         if ( unsafeGetFile() == null )
 37  
         {
 38  3
             File tempFile = File.createTempFile( tempFilePrefix, tempFileSuffix );
 39  
 
 40  3
             if ( tempFileDeleteOnExit )
 41  
             {
 42  3
                 tempFile.deleteOnExit();
 43  
             }
 44  
 
 45  3
             FileUtils.copyURLToFile( url, tempFile );
 46  
             
 47  3
             setFile( tempFile );
 48  
         }
 49  4
     }
 50  
 
 51  
 }
././@LongLink0000000000000000000000000000015200000000000011563 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.download.DownloadManager.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.download.DownloadManager0000755000175000017500000001243011330102017033166 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.download.DownloadManager
 
Classes in this File Line Coverage Branch Coverage Complexity
DownloadManager
N/A
N/A
1
 
 1  
 package org.apache.maven.shared.io.download;
 2  
 
 3  
 import java.io.File;
 4  
 import java.util.List;
 5  
 
 6  
 import org.apache.maven.shared.io.logging.MessageHolder;
 7  
 
 8  
 public interface DownloadManager
 9  
 {
 10  
     String ROLE = DownloadManager.class.getName();
 11  
 
 12  
     File download( String url, MessageHolder messageHolder )
 13  
         throws DownloadFailedException;
 14  
 
 15  
     File download( String url, List transferListeners, MessageHolder messageHolder )
 16  
         throws DownloadFailedException;
 17  
 
 18  
 }
././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/frame-summary-org.apache.maven.shared.io.location.htmlsrc/site/resources/sample-maven-shared-io-report/frame-summary-org.apache.maven.shared.io.location.h0000755000175000017500000002775211330102017033154 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.location
 
Package # Classes Line Coverage Branch Coverage Complexity
org.apache.maven.shared.io.location10
99%
155/156
100%
16/16
1.538
 
Classes in this Package Line Coverage Branch Coverage Complexity
ArtifactLocation
100%
3/3
N/A
1
ArtifactLocatorStrategy
100%
48/48
100%
8/8
4.333
ClasspathResourceLocatorStrategy
100%
19/19
100%
1/1
1.333
FileLocation
96%
26/27
100%
3/3
1.455
FileLocatorStrategy
100%
7/7
100%
1/1
2
Location
N/A
N/A
1
Locator
100%
22/22
100%
1/1
1.125
LocatorStrategy
N/A
N/A
1
URLLocation
100%
13/13
100%
2/2
2
URLLocatorStrategy
100%
17/17
N/A
1.333
././@LongLink0000000000000000000000000000015400000000000011565 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/frame-summary-org.apache.maven.shared.io.scan.mapping.htmlsrc/site/resources/sample-maven-shared-io-report/frame-summary-org.apache.maven.shared.io.scan.mappi0000755000175000017500000001366111330102017033141 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan.mapping
 
Package # Classes Line Coverage Branch Coverage Complexity
org.apache.maven.shared.io.scan.mapping3
100%
22/22
100%
3/3
1.667
 
Classes in this Package Line Coverage Branch Coverage Complexity
SingleTargetMapping
100%
7/7
100%
1/1
2
SourceMapping
N/A
N/A
1
SuffixMapping
100%
15/15
100%
2/2
1.667
src/site/resources/sample-maven-shared-io-report/js/0000755000175000017500000000000011330102017022016 5ustar user03user03src/site/resources/sample-maven-shared-io-report/js/popup.js0000755000175000017500000000026111330102017023521 0ustar user03user03var newwindow; function popupwindow(url) { newwindow=window.open(url,'name','height=500,width=500,resizable=yes,scrollbars=yes'); if (window.focus) { newwindow.focus() } } src/site/resources/sample-maven-shared-io-report/js/customsorttypes.js0000755000175000017500000000306311330102017025670 0ustar user03user03/* * Cobertura - http://cobertura.sourceforge.net/ * * Copyright (C) 2005 Mark Doliner * Copyright (C) 2005 Olivier Parent * * Cobertura is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published * by the Free Software Foundation; either version 2 of the License, * or (at your option) any later version. * * Cobertura is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Cobertura; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ function percentageSortType( s ) { var ret; var i = s.indexOf( "%" ); if (i != -1) { s = s.substr( 0, i ); } ret = parseFloat(s); if (isNaN(ret)) { ret = -1; } return ret; } SortableTable.prototype.addSortType( "Percentage", percentageSortType ); // This is needed for correctly sorting numbers in different // locales. The stock number converter only expects to sort // numbers which use a period as a separator instead of a // comma (like French). function formattedNumberSortType( s ) { var ret; var i = s.indexOf(';'); if (i != -1) { s = s.substring(0, i); } ret = parseFloat(s); if (isNaN(ret)) { return -1; } return ret; } SortableTable.prototype.addSortType( "FormattedNumber", formattedNumberSortType ); src/site/resources/sample-maven-shared-io-report/js/sortabletable.js0000755000175000017500000003547011330102017025213 0ustar user03user03 /*----------------------------------------------------------------------------\ | Sortable Table 1.12 | |-----------------------------------------------------------------------------| | Created by Erik Arvidsson | | (http://webfx.eae.net/contact.html#erik) | | For WebFX (http://webfx.eae.net/) | |-----------------------------------------------------------------------------| | A DOM 1 based script that allows an ordinary HTML table to be sortable. | |-----------------------------------------------------------------------------| | Copyright (c) 1998 - 2004 Erik Arvidsson | |-----------------------------------------------------------------------------| | This software is provided "as is", without warranty of any kind, express or | | implied, including but not limited to the warranties of merchantability, | | fitness for a particular purpose and noninfringement. In no event shall the | | authors or copyright holders be liable for any claim, damages or other | | liability, whether in an action of contract, tort or otherwise, arising | | from, out of or in connection with the software or the use or other | | dealings in the software. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | This software is available under the three different licenses mentioned | | below. To use this software you must chose, and qualify, for one of those. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | The WebFX Non-Commercial License http://webfx.eae.net/license.html | | Permits anyone the right to use the software in a non-commercial context | | free of charge. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | The WebFX Commercial license http://webfx.eae.net/commercial.html | | Permits the license holder the right to use the software in a commercial | | context. Such license must be specifically obtained, however it's valid for | | any number of implementations of the licensed software. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt | | Permits anyone the right to use and modify the software without limitations | | as long as proper credits are given and the original and modified source | | code are included. Requires that the final product, software derivate from | | the original source or any software utilizing a GPL component, such as | | this, is also licensed under the GPL license. | |-----------------------------------------------------------------------------| | 2003-01-10 | First version | | 2003-01-19 | Minor changes to the date parsing | | 2003-01-28 | JScript 5.0 fixes (no support for 'in' operator) | | 2003-02-01 | Sloppy typo like error fixed in getInnerText | | 2003-07-04 | Added workaround for IE cellIndex bug. | | 2003-11-09 | The bDescending argument to sort was not correctly working | | | Using onclick DOM0 event if no support for addEventListener | | | or attachEvent | | 2004-01-13 | Adding addSortType and removeSortType which makes it a lot | | | easier to add new, custom sort types. | | 2004-01-27 | Switch to use descending = false as the default sort order. | | | Change defaultDescending to suit your needs. | | 2004-03-14 | Improved sort type None look and feel a bit | | 2004-08-26 | Made the handling of tBody and tHead more flexible. Now you | | | can use another tHead or no tHead, and you can chose some | | | other tBody. | |-----------------------------------------------------------------------------| | Created 2003-01-10 | All changes are in the log above. | Updated 2004-08-26 | \----------------------------------------------------------------------------*/ function SortableTable(oTable, oSortTypes) { this.sortTypes = oSortTypes || []; this.sortColumn = null; this.descending = null; var oThis = this; this._headerOnclick = function (e) { oThis.headerOnclick(e); }; if (oTable) { this.setTable( oTable ); this.document = oTable.ownerDocument || oTable.document; } else { this.document = document; } // only IE needs this var win = this.document.defaultView || this.document.parentWindow; this._onunload = function () { oThis.destroy(); }; if (win && typeof win.attachEvent != "undefined") { win.attachEvent("onunload", this._onunload); } } SortableTable.gecko = navigator.product == "Gecko"; SortableTable.msie = /msie/i.test(navigator.userAgent); // Mozilla is faster when doing the DOM manipulations on // an orphaned element. MSIE is not SortableTable.removeBeforeSort = SortableTable.gecko; SortableTable.prototype.onsort = function () {}; // default sort order. true -> descending, false -> ascending SortableTable.prototype.defaultDescending = false; // shared between all instances. This is intentional to allow external files // to modify the prototype SortableTable.prototype._sortTypeInfo = {}; SortableTable.prototype.setTable = function (oTable) { if ( this.tHead ) this.uninitHeader(); this.element = oTable; this.setTHead( oTable.tHead ); this.setTBody( oTable.tBodies[0] ); }; SortableTable.prototype.setTHead = function (oTHead) { if (this.tHead && this.tHead != oTHead ) this.uninitHeader(); this.tHead = oTHead; this.initHeader( this.sortTypes ); }; SortableTable.prototype.setTBody = function (oTBody) { this.tBody = oTBody; }; SortableTable.prototype.setSortTypes = function ( oSortTypes ) { if ( this.tHead ) this.uninitHeader(); this.sortTypes = oSortTypes || []; if ( this.tHead ) this.initHeader( this.sortTypes ); }; // adds arrow containers and events // also binds sort type to the header cells so that reordering columns does // not break the sort types SortableTable.prototype.initHeader = function (oSortTypes) { if (!this.tHead) return; var cells = this.tHead.rows[0].cells; var doc = this.tHead.ownerDocument || this.tHead.document; this.sortTypes = oSortTypes || []; var l = cells.length; var img, c; for (var i = 0; i < l; i++) { c = cells[i]; if (this.sortTypes[i] != null && this.sortTypes[i] != "None") { img = doc.createElement("IMG"); img.src = "images/blank.png"; c.appendChild(img); if (this.sortTypes[i] != null) c._sortType = this.sortTypes[i]; if (typeof c.addEventListener != "undefined") c.addEventListener("click", this._headerOnclick, false); else if (typeof c.attachEvent != "undefined") c.attachEvent("onclick", this._headerOnclick); else c.onclick = this._headerOnclick; } else { c.setAttribute( "_sortType", oSortTypes[i] ); c._sortType = "None"; } } this.updateHeaderArrows(); }; // remove arrows and events SortableTable.prototype.uninitHeader = function () { if (!this.tHead) return; var cells = this.tHead.rows[0].cells; var l = cells.length; var c; for (var i = 0; i < l; i++) { c = cells[i]; if (c._sortType != null && c._sortType != "None") { c.removeChild(c.lastChild); if (typeof c.removeEventListener != "undefined") c.removeEventListener("click", this._headerOnclick, false); else if (typeof c.detachEvent != "undefined") c.detachEvent("onclick", this._headerOnclick); c._sortType = null; c.removeAttribute( "_sortType" ); } } }; SortableTable.prototype.updateHeaderArrows = function () { if (!this.tHead) return; var cells = this.tHead.rows[0].cells; var l = cells.length; var img; for (var i = 0; i < l; i++) { if (cells[i]._sortType != null && cells[i]._sortType != "None") { img = cells[i].lastChild; if (i == this.sortColumn) img.className = "sort-arrow " + (this.descending ? "descending" : "ascending"); else img.className = "sort-arrow"; } } }; SortableTable.prototype.headerOnclick = function (e) { // find TD element var el = e.target || e.srcElement; while (el.tagName != "TD") el = el.parentNode; this.sort(SortableTable.msie ? SortableTable.getCellIndex(el) : el.cellIndex); }; // IE returns wrong cellIndex when columns are hidden SortableTable.getCellIndex = function (oTd) { var cells = oTd.parentNode.childNodes var l = cells.length; var i; for (i = 0; cells[i] != oTd && i < l; i++) ; return i; }; SortableTable.prototype.getSortType = function (nColumn) { return this.sortTypes[nColumn] || "String"; }; // only nColumn is required // if bDescending is left out the old value is taken into account // if sSortType is left out the sort type is found from the sortTypes array SortableTable.prototype.sort = function (nColumn, bDescending, sSortType) { if (!this.tBody) return; if (sSortType == null) sSortType = this.getSortType(nColumn); // exit if None if (sSortType == "None") return; if (bDescending == null) { if (this.sortColumn != nColumn) this.descending = this.defaultDescending; else this.descending = !this.descending; } else this.descending = bDescending; this.sortColumn = nColumn; if (typeof this.onbeforesort == "function") this.onbeforesort(); var f = this.getSortFunction(sSortType, nColumn); var a = this.getCache(sSortType, nColumn); var tBody = this.tBody; a.sort(f); if (this.descending) a.reverse(); if (SortableTable.removeBeforeSort) { // remove from doc var nextSibling = tBody.nextSibling; var p = tBody.parentNode; p.removeChild(tBody); } // insert in the new order var l = a.length; for (var i = 0; i < l; i++) tBody.appendChild(a[i].element); if (SortableTable.removeBeforeSort) { // insert into doc p.insertBefore(tBody, nextSibling); } this.updateHeaderArrows(); this.destroyCache(a); if (typeof this.onsort == "function") this.onsort(); }; SortableTable.prototype.asyncSort = function (nColumn, bDescending, sSortType) { var oThis = this; this._asyncsort = function () { oThis.sort(nColumn, bDescending, sSortType); }; window.setTimeout(this._asyncsort, 1); }; SortableTable.prototype.getCache = function (sType, nColumn) { if (!this.tBody) return []; var rows = this.tBody.rows; var l = rows.length; var a = new Array(l); var r; for (var i = 0; i < l; i++) { r = rows[i]; a[i] = { value: this.getRowValue(r, sType, nColumn), element: r }; }; return a; }; SortableTable.prototype.destroyCache = function (oArray) { var l = oArray.length; for (var i = 0; i < l; i++) { oArray[i].value = null; oArray[i].element = null; oArray[i] = null; } }; SortableTable.prototype.getRowValue = function (oRow, sType, nColumn) { // if we have defined a custom getRowValue use that if (this._sortTypeInfo[sType] && this._sortTypeInfo[sType].getRowValue) return this._sortTypeInfo[sType].getRowValue(oRow, nColumn); var s; var c = oRow.cells[nColumn]; if (typeof c.innerText != "undefined") s = c.innerText; else s = SortableTable.getInnerText(c); return this.getValueFromString(s, sType); }; SortableTable.getInnerText = function (oNode) { var s = ""; var cs = oNode.childNodes; var l = cs.length; for (var i = 0; i < l; i++) { switch (cs[i].nodeType) { case 1: //ELEMENT_NODE s += SortableTable.getInnerText(cs[i]); break; case 3: //TEXT_NODE s += cs[i].nodeValue; break; } } return s; }; SortableTable.prototype.getValueFromString = function (sText, sType) { if (this._sortTypeInfo[sType]) return this._sortTypeInfo[sType].getValueFromString( sText ); return sText; /* switch (sType) { case "Number": return Number(sText); case "CaseInsensitiveString": return sText.toUpperCase(); case "Date": var parts = sText.split("-"); var d = new Date(0); d.setFullYear(parts[0]); d.setDate(parts[2]); d.setMonth(parts[1] - 1); return d.valueOf(); } return sText; */ }; SortableTable.prototype.getSortFunction = function (sType, nColumn) { if (this._sortTypeInfo[sType]) return this._sortTypeInfo[sType].compare; return SortableTable.basicCompare; }; SortableTable.prototype.destroy = function () { this.uninitHeader(); var win = this.document.parentWindow; if (win && typeof win.detachEvent != "undefined") { // only IE needs this win.detachEvent("onunload", this._onunload); } this._onunload = null; this.element = null; this.tHead = null; this.tBody = null; this.document = null; this._headerOnclick = null; this.sortTypes = null; this._asyncsort = null; this.onsort = null; }; // Adds a sort type to all instance of SortableTable // sType : String - the identifier of the sort type // fGetValueFromString : function ( s : string ) : T - A function that takes a // string and casts it to a desired format. If left out the string is just // returned // fCompareFunction : function ( n1 : T, n2 : T ) : Number - A normal JS sort // compare function. Takes two values and compares them. If left out less than, // <, compare is used // fGetRowValue : function( oRow : HTMLTRElement, nColumn : int ) : T - A function // that takes the row and the column index and returns the value used to compare. // If left out then the innerText is first taken for the cell and then the // fGetValueFromString is used to convert that string the desired value and type SortableTable.prototype.addSortType = function (sType, fGetValueFromString, fCompareFunction, fGetRowValue) { this._sortTypeInfo[sType] = { type: sType, getValueFromString: fGetValueFromString || SortableTable.idFunction, compare: fCompareFunction || SortableTable.basicCompare, getRowValue: fGetRowValue }; }; // this removes the sort type from all instances of SortableTable SortableTable.prototype.removeSortType = function (sType) { delete this._sortTypeInfo[sType]; }; SortableTable.basicCompare = function compare(n1, n2) { if (n1.value < n2.value) return -1; if (n2.value < n1.value) return 1; return 0; }; SortableTable.idFunction = function (x) { return x; }; SortableTable.toUpperCase = function (s) { return s.toUpperCase(); }; SortableTable.toDate = function (s) { var parts = s.split("-"); var d = new Date(0); d.setFullYear(parts[0]); d.setDate(parts[2]); d.setMonth(parts[1] - 1); return d.valueOf(); }; // add sort types SortableTable.prototype.addSortType("Number", Number); SortableTable.prototype.addSortType("CaseInsensitiveString", SortableTable.toUpperCase); SortableTable.prototype.addSortType("Date", SortableTable.toDate); SortableTable.prototype.addSortType("String"); // None is a special case src/site/resources/sample-maven-shared-io-report/js/stringbuilder.js0000755000175000017500000001022411330102017025233 0ustar user03user03/*----------------------------------------------------------------------------\ | String Builder 1.02 | |-----------------------------------------------------------------------------| | Created by Erik Arvidsson | | (http://webfx.eae.net/contact.html#erik) | | For WebFX (http://webfx.eae.net/) | |-----------------------------------------------------------------------------| | A class that allows more efficient building of strings than concatenation. | |-----------------------------------------------------------------------------| | Copyright (c) 1999 - 2002 Erik Arvidsson | |-----------------------------------------------------------------------------| | This software is provided "as is", without warranty of any kind, express or | | implied, including but not limited to the warranties of merchantability, | | fitness for a particular purpose and noninfringement. In no event shall the | | authors or copyright holders be liable for any claim, damages or other | | liability, whether in an action of contract, tort or otherwise, arising | | from, out of or in connection with the software or the use or other | | dealings in the software. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | This software is available under the three different licenses mentioned | | below. To use this software you must chose, and qualify, for one of those. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | The WebFX Non-Commercial License http://webfx.eae.net/license.html | | Permits anyone the right to use the software in a non-commercial context | | free of charge. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | The WebFX Commercial license http://webfx.eae.net/commercial.html | | Permits the license holder the right to use the software in a commercial | | context. Such license must be specifically obtained, however it's valid for | | any number of implementations of the licensed software. | | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | | GPL - The GNU General Public License http://www.gnu.org/licenses/gpl.txt | | Permits anyone the right to use and modify the software without limitations | | as long as proper credits are given and the original and modified source | | code are included. Requires that the final product, software derivate from | | the original source or any software utilizing a GPL component, such as | | this, is also licensed under the GPL license. | |-----------------------------------------------------------------------------| | 2000-10-02 | First version | | 2000-10-05 | Added a cache of the string so that it does not need to be | | | regenerated every time in toString | | 2002-10-03 | Added minor improvement in the toString method | |-----------------------------------------------------------------------------| | Created 2000-10-02 | All changes are in the log above. | Updated 2002-10-03 | \----------------------------------------------------------------------------*/ function StringBuilder(sString) { // public this.length = 0; this.append = function (sString) { // append argument this.length += (this._parts[this._current++] = String(sString)).length; // reset cache this._string = null; return this; }; this.toString = function () { if (this._string != null) return this._string; var s = this._parts.join(""); this._parts = [s]; this._current = 1; this.length = s.length; return this._string = s; }; // private this._current = 0; this._parts = []; this._string = null; // used to cache the string // init if (sString != null) this.append(sString); } ././@LongLink0000000000000000000000000000014700000000000011567 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/frame-summary-org.apache.maven.shared.io.logging.htmlsrc/site/resources/sample-maven-shared-io-report/frame-summary-org.apache.maven.shared.io.logging.ht0000755000175000017500000002532611330102017033151 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.logging
 
Package # Classes Line Coverage Branch Coverage Complexity
org.apache.maven.shared.io.logging8
43%
89/207
57%
12/21
1.25
 
Classes in this Package Line Coverage Branch Coverage Complexity
DefaultMessageHolder
36%
49/137
47%
8/17
1.393
DefaultMessageHolder$Message
100%
22/22
100%
3/3
1.393
MessageHolder
N/A
N/A
1
MessageLevels
82%
18/22
100%
1/1
3.667
MessageSink
N/A
N/A
1
MojoLogSink
0%
0/13
N/A
1
MultiChannelMessageHolder
N/A
N/A
0
PlexusLoggerSink
0%
0/13
N/A
1
././@LongLink0000000000000000000000000000016200000000000011564 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.download.DownloadFailedException.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.download.DownloadFailedE0000755000175000017500000001543411330102017033114 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.download.DownloadFailedException
 
Classes in this File Line Coverage Branch Coverage Complexity
DownloadFailedException
100%
7/7
N/A
1
 
 1  
 package org.apache.maven.shared.io.download;
 2  
 
 3  
 public class DownloadFailedException
 4  
     extends Exception
 5  
 {
 6  
     
 7  
     private static final long serialVersionUID = 1L;
 8  
     
 9  
     private String url;
 10  
 
 11  
     public DownloadFailedException( String url, String message, Throwable cause )
 12  
     {
 13  8
         super( message, cause );
 14  8
         this.url = url;
 15  8
     }
 16  
 
 17  
     public DownloadFailedException( String url, String message )
 18  
     {
 19  2
         super( message );
 20  2
         this.url = url;
 21  2
     }
 22  
     
 23  
     public String getUrl()
 24  
     {
 25  1
         return url;
 26  
     }
 27  
 
 28  
 }
././@LongLink0000000000000000000000000000015000000000000011561 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/frame-summary-org.apache.maven.shared.io.download.htmlsrc/site/resources/sample-maven-shared-io-report/frame-summary-org.apache.maven.shared.io.download.h0000755000175000017500000001410511330102017033137 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.download
 
Package # Classes Line Coverage Branch Coverage Complexity
org.apache.maven.shared.io.download3
95%
62/65
100%
6/6
3.556
 
Classes in this Package Line Coverage Branch Coverage Complexity
DefaultDownloadManager
95%
55/58
100%
6/6
6.75
DownloadFailedException
100%
7/7
N/A
1
DownloadManager
N/A
N/A
1
././@LongLink0000000000000000000000000000016100000000000011563 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.download.DefaultDownloadManager.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.download.DefaultDownload0000755000175000017500000010514311330102017033204 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.download.DefaultDownloadManager
 
Classes in this File Line Coverage Branch Coverage Complexity
DefaultDownloadManager
95%
55/58
100%
6/6
6.75
 
 1  
 package org.apache.maven.shared.io.download;
 2  
 
 3  
 import java.io.File;
 4  
 import java.io.IOException;
 5  
 import java.net.MalformedURLException;
 6  
 import java.net.URL;
 7  
 import java.util.Collections;
 8  
 import java.util.HashMap;
 9  
 import java.util.Iterator;
 10  
 import java.util.List;
 11  
 import java.util.Map;
 12  
 
 13  
 import org.apache.maven.artifact.manager.WagonManager;
 14  
 import org.apache.maven.shared.io.logging.MessageHolder;
 15  
 import org.apache.maven.wagon.ConnectionException;
 16  
 import org.apache.maven.wagon.ResourceDoesNotExistException;
 17  
 import org.apache.maven.wagon.TransferFailedException;
 18  
 import org.apache.maven.wagon.UnsupportedProtocolException;
 19  
 import org.apache.maven.wagon.Wagon;
 20  
 import org.apache.maven.wagon.authentication.AuthenticationException;
 21  
 import org.apache.maven.wagon.authorization.AuthorizationException;
 22  
 import org.apache.maven.wagon.events.TransferListener;
 23  
 import org.apache.maven.wagon.repository.Repository;
 24  
 
 25  
 public class DefaultDownloadManager
 26  
     implements DownloadManager
 27  
 {
 28  
 
 29  
     public static final String ROLE_HINT = "default";
 30  
 
 31  
     private WagonManager wagonManager;
 32  
 
 33  14
     private Map cache = new HashMap();
 34  
 
 35  2
     public DefaultDownloadManager()
 36  
     {
 37  2
     }
 38  
 
 39  12
     public DefaultDownloadManager( WagonManager wagonManager )
 40  
     {
 41  12
         this.wagonManager = wagonManager;
 42  12
     }
 43  
 
 44  
     public File download( String url, MessageHolder messageHolder )
 45  
         throws DownloadFailedException
 46  
     {
 47  11
         return download( url, Collections.EMPTY_LIST, messageHolder );
 48  
     }
 49  
 
 50  
     public File download( String url, List transferListeners, MessageHolder messageHolder )
 51  
         throws DownloadFailedException
 52  
     {
 53  12
         File downloaded = (File) cache.get( url );
 54  
 
 55  12
         if ( downloaded != null && downloaded.exists() )
 56  
         {
 57  1
             messageHolder.addMessage( "Using cached download: " + downloaded.getAbsolutePath() );
 58  
 
 59  1
             return downloaded;
 60  
         }
 61  
 
 62  
         URL sourceUrl;
 63  
         try
 64  
         {
 65  11
             sourceUrl = new URL( url );
 66  
         }
 67  1
         catch ( MalformedURLException e )
 68  
         {
 69  1
             throw new DownloadFailedException( url, "Download failed due to invalid URL. Reason: " + e.getMessage(), e );
 70  
         }
 71  
 
 72  10
         Wagon wagon = null;
 73  
 
 74  
         // Retrieve the correct Wagon instance used to download the remote archive
 75  
         try
 76  
         {
 77  10
             wagon = wagonManager.getWagon( sourceUrl.getProtocol() );
 78  
         }
 79  1
         catch ( UnsupportedProtocolException e )
 80  
         {
 81  1
             throw new DownloadFailedException( url, "Download failed. Reason: " + e.getMessage(), e );
 82  
         }
 83  
 
 84  9
         messageHolder.addMessage( "Using wagon: " + wagon + " to download: " + url );
 85  
 
 86  
         try
 87  
         {
 88  
             // create the landing file in /tmp for the downloaded source archive
 89  9
             downloaded = File.createTempFile( "download-", null );
 90  
 
 91  
             // delete when the JVM exits, to avoid polluting the temp dir...
 92  9
             downloaded.deleteOnExit();
 93  
         }
 94  0
         catch ( IOException e )
 95  
         {
 96  0
             throw new DownloadFailedException( url, "Failed to create temporary file target for download. Reason: "
 97  0
                 + e.getMessage(), e );
 98  
         }
 99  
 
 100  9
         messageHolder.addMessage( "Download target is: " + downloaded.getAbsolutePath() );
 101  
 
 102  
         // split the download URL into base URL and remote path for connecting, then retrieving.
 103  9
         String remotePath = sourceUrl.getPath();
 104  9
         String baseUrl = url.substring( 0, url.length() - remotePath.length() );
 105  
 
 106  19
         for ( Iterator it = transferListeners.iterator(); it.hasNext(); )
 107  
         {
 108  1
             TransferListener listener = (TransferListener) it.next();
 109  1
             wagon.addTransferListener( listener );
 110  
         }
 111  
 
 112  
         // connect to the remote site, and retrieve the archive. Note the separate methods in which
 113  
         // base URL and remote path are used.
 114  9
         Repository repo = new Repository( sourceUrl.getHost(), baseUrl );
 115  
 
 116  9
         messageHolder.addMessage( "Connecting to: " + repo.getHost() + "(baseUrl: " + repo.getUrl() + ")" );
 117  
 
 118  
         try
 119  
         {
 120  18
             wagon.connect( repo, wagonManager.getAuthenticationInfo( repo.getId() ), wagonManager.getProxy( sourceUrl
 121  9
                 .getProtocol() ) );
 122  
         }
 123  1
         catch ( ConnectionException e )
 124  
         {
 125  1
             throw new DownloadFailedException( url, "Download failed. Reason: " + e.getMessage(), e );
 126  
         }
 127  1
         catch ( AuthenticationException e )
 128  
         {
 129  1
             throw new DownloadFailedException( url, "Download failed. Reason: " + e.getMessage(), e );
 130  
         }
 131  
 
 132  7
         messageHolder.addMessage( "Getting: " + remotePath );
 133  
 
 134  
         try
 135  
         {
 136  7
             wagon.get( remotePath, downloaded );
 137  
 
 138  
             // cache this for later download requests to the same instance...
 139  4
             cache.put( url, downloaded );
 140  
 
 141  4
             return downloaded;
 142  
         }
 143  1
         catch ( TransferFailedException e )
 144  
         {
 145  1
             throw new DownloadFailedException( url, "Download failed. Reason: " + e.getMessage(), e );
 146  
         }
 147  1
         catch ( ResourceDoesNotExistException e )
 148  
         {
 149  1
             throw new DownloadFailedException( url, "Download failed. Reason: " + e.getMessage(), e );
 150  
         }
 151  1
         catch ( AuthorizationException e )
 152  
         {
 153  1
             throw new DownloadFailedException( url, "Download failed. Reason: " + e.getMessage(), e );
 154  
         }
 155  
         finally
 156  10
         {
 157  
             // ensure the Wagon instance is closed out properly.
 158  7
             if ( wagon != null )
 159  
             {
 160  
                 try
 161  
                 {
 162  7
                     messageHolder.addMessage( "Disconnecting." );
 163  
 
 164  7
                     wagon.disconnect();
 165  
                 }
 166  1
                 catch ( ConnectionException e )
 167  
                 {
 168  1
                     messageHolder.addMessage( "Failed to disconnect wagon for: " + url, e );
 169  
                 }
 170  
 
 171  15
                 for ( Iterator it = transferListeners.iterator(); it.hasNext(); )
 172  
                 {
 173  1
                     TransferListener listener = (TransferListener) it.next();
 174  1
                     wagon.removeTransferListener( listener );
 175  
                 }
 176  
             }
 177  10
         }
 178  
     }
 179  
 
 180  
 }
././@LongLink0000000000000000000000000000015700000000000011570 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.ResourceInclusionScanner.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.scan.ResourceInclusionSc0000755000175000017500000002021211330102017033177 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.scan.ResourceInclusionScanner
 
Classes in this File Line Coverage Branch Coverage Complexity
ResourceInclusionScanner
N/A
N/A
1
 
 1  
 package org.apache.maven.shared.io.scan;
 2  
 
 3  
 /*
 4  
  * Copyright 2001-2005 The Apache Software Foundation.
 5  
  *
 6  
  * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 7  
  * in compliance with the License. You may obtain a copy of the License at
 8  
  *
 9  
  * http://www.apache.org/licenses/LICENSE-2.0
 10  
  *
 11  
  * Unless required by applicable law or agreed to in writing, software distributed under the License
 12  
  * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 13  
  * or implied. See the License for the specific language governing permissions and limitations under
 14  
  * the License.
 15  
  */
 16  
 
 17  
 import org.apache.maven.shared.io.scan.mapping.SourceMapping;
 18  
 
 19  
 import java.io.File;
 20  
 import java.util.Set;
 21  
 
 22  
 /**
 23  
  * @author jdcasey
 24  
  * @version $Id: org.apache.maven.shared.io.scan.ResourceInclusionScanner.html 2271 2006-08-22 15:19:41Z joakime $
 25  
  */
 26  
 public interface ResourceInclusionScanner
 27  
 {
 28  
     void addSourceMapping( SourceMapping sourceMapping );
 29  
 
 30  
     Set getIncludedSources( File sourceDir, File targetDir )
 31  
         throws InclusionScanException;
 32  
 }
././@LongLink0000000000000000000000000000014500000000000011565 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MojoLogSink.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.MojoLogSink.html0000755000175000017500000002235711330102017033112 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.logging.MojoLogSink
 
Classes in this File Line Coverage Branch Coverage Complexity
MojoLogSink
0%
0/13
N/A
1
 
 1  
 package org.apache.maven.shared.io.logging;
 2  
 
 3  
 import org.apache.maven.plugin.logging.Log;
 4  
 
 5  
 
 6  
 public class MojoLogSink
 7  
     implements MessageSink
 8  
 {
 9  
     
 10  
     private final Log logger;
 11  
 
 12  
     public MojoLogSink( Log logger )
 13  0
     {
 14  0
         this.logger = logger;
 15  0
     }
 16  
 
 17  
     public void debug( String message )
 18  
     {
 19  0
         logger.debug( message );
 20  0
     }
 21  
 
 22  
     public void error( String message )
 23  
     {
 24  0
         logger.error( message );
 25  0
     }
 26  
 
 27  
     public void info( String message )
 28  
     {
 29  0
         logger.info( message );
 30  0
     }
 31  
 
 32  
     public void severe( String message )
 33  
     {
 34  0
         logger.error( message );
 35  0
     }
 36  
 
 37  
     public void warning( String message )
 38  
     {
 39  0
         logger.warn( message );
 40  0
     }
 41  
 
 42  
 }
././@LongLink0000000000000000000000000000015600000000000011567 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.DefaultMessageHolder.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.DefaultMessageHo0000755000175000017500000026650511330102017033141 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.logging.DefaultMessageHolder
 
Classes in this File Line Coverage Branch Coverage Complexity
DefaultMessageHolder
36%
49/137
47%
8/17
1.393
DefaultMessageHolder$Message
100%
22/22
100%
3/3
1.393
 
 1  
 package org.apache.maven.shared.io.logging;
 2  
 
 3  
 import java.io.PrintWriter;
 4  
 import java.io.StringWriter;
 5  
 import java.util.ArrayList;
 6  
 import java.util.Iterator;
 7  
 import java.util.List;
 8  
 
 9  
 public class DefaultMessageHolder
 10  
     implements MessageHolder
 11  
 {
 12  
 
 13  50
     private List messages = new ArrayList();
 14  
 
 15  
     private Message currentMessage;
 16  
     
 17  50
     private int defaultMessageLevel = MessageLevels.LEVEL_INFO;
 18  
     
 19  
     private boolean[] messageLevelStates;
 20  
 
 21  
     private MessageSink onDemandSink;
 22  
 
 23  
     public DefaultMessageHolder()
 24  50
     {
 25  50
         this.messageLevelStates = MessageLevels.getLevelStates( MessageLevels.LEVEL_INFO );
 26  50
     }
 27  
 
 28  
     public DefaultMessageHolder( int maxMessageLevel, int defaultMessageLevel )
 29  0
     {
 30  0
         this.defaultMessageLevel = defaultMessageLevel;
 31  0
         this.messageLevelStates = MessageLevels.getLevelStates( maxMessageLevel );
 32  0
     }
 33  
 
 34  
     public DefaultMessageHolder( int maxMessageLevel, int defaultMessageLevel, MessageSink onDemandSink )
 35  0
     {
 36  0
         this.defaultMessageLevel = defaultMessageLevel;
 37  0
         this.onDemandSink = onDemandSink;
 38  0
         this.messageLevelStates = MessageLevels.getLevelStates( maxMessageLevel );
 39  0
     }
 40  
 
 41  
     public MessageHolder addMessage( CharSequence messagePart, Throwable error )
 42  
     {
 43  6
         return addMessage( defaultMessageLevel, messagePart, error );
 44  
     }
 45  
     
 46  
     protected MessageHolder addMessage( int level, CharSequence messagePart, Throwable error )
 47  
     {
 48  6
         newMessage( level );
 49  6
         append( messagePart.toString() );
 50  6
         append( error );
 51  
 
 52  6
         return this;
 53  
     }
 54  
 
 55  
     public MessageHolder addMessage( CharSequence messagePart )
 56  
     {
 57  54
         return addMessage( defaultMessageLevel, messagePart );
 58  
     }
 59  
     
 60  
     protected MessageHolder addMessage( int level, CharSequence messagePart )
 61  
     {
 62  54
         newMessage( level );
 63  54
         append( messagePart.toString() );
 64  
 
 65  54
         return this;
 66  
     }
 67  
 
 68  
     public MessageHolder addMessage( Throwable error )
 69  
     {
 70  1
         return addMessage( defaultMessageLevel, error );
 71  
     }
 72  
     
 73  
     protected MessageHolder addMessage( int level, Throwable error )
 74  
     {
 75  1
         newMessage( level );
 76  1
         append( error );
 77  
 
 78  1
         return this;
 79  
     }
 80  
 
 81  
     public MessageHolder append( CharSequence messagePart )
 82  
     {
 83  69
         if ( currentMessage == null )
 84  
         {
 85  1
             newMessage();
 86  
         }
 87  
 
 88  69
         currentMessage.append( messagePart.toString() );
 89  
 
 90  69
         return this;
 91  
     }
 92  
 
 93  
     public MessageHolder append( Throwable error )
 94  
     {
 95  9
         if ( currentMessage == null )
 96  
         {
 97  1
             newMessage();
 98  
         }
 99  
 
 100  9
         currentMessage.setError( error );
 101  
 
 102  9
         return this;
 103  
     }
 104  
 
 105  
     public boolean isEmpty()
 106  
     {
 107  3
         return messages.isEmpty();
 108  
     }
 109  
 
 110  
     public MessageHolder newMessage()
 111  
     {
 112  9
         newMessage( defaultMessageLevel );
 113  
 
 114  9
         return this;
 115  
     }
 116  
     
 117  
     protected void newMessage( int messageLevel )
 118  
     {
 119  70
         if ( onDemandSink != null && currentMessage != null )
 120  
         {
 121  0
             renderTo( currentMessage, onDemandSink );
 122  
         }
 123  
         
 124  70
         currentMessage = new Message( messageLevel );
 125  70
         messages.add( currentMessage );
 126  70
     }
 127  
 
 128  
     public String render()
 129  
     {
 130  21
         StringBuffer buffer = new StringBuffer();
 131  
 
 132  21
         int counter = 1;
 133  21
         for ( Iterator it = messages.iterator(); it.hasNext(); )
 134  
         {
 135  28
             Message message = (Message) it.next();
 136  
             
 137  28
             int ml = message.getMessageLevel();
 138  
             
 139  28
             if ( ml >= messageLevelStates.length || ml < 0 )
 140  
             {
 141  0
                 ml = MessageLevels.LEVEL_DEBUG;
 142  
             }
 143  
             
 144  28
             if ( !messageLevelStates[ml] )
 145  
             {
 146  0
                 continue;
 147  
             }
 148  
             
 149  28
             CharSequence content = message.render();
 150  28
             String label = MessageLevels.getLevelLabel( message.getMessageLevel() );
 151  
             
 152  28
             if ( content.length() > label.length() + 3 )
 153  
             {
 154  27
                 buffer.append( '[' ).append( counter++ ).append( "] " );
 155  27
                 buffer.append( content.toString() );
 156  
 
 157  27
                 if ( it.hasNext() )
 158  
                 {
 159  7
                     buffer.append( "\n\n" );
 160  
                 }
 161  
             }
 162  
         }
 163  
 
 164  21
         return buffer.toString();
 165  
     }
 166  
 
 167  
     public int size()
 168  
     {
 169  35
         return messages.size();
 170  
     }
 171  
 
 172  
     private static final class Message
 173  
     {
 174  70
         private StringBuffer message = new StringBuffer();
 175  
 
 176  
         private Throwable error;
 177  
         
 178  
         private final int messageLevel;
 179  
 
 180  
         public Message( int messageLevel )
 181  70
         {
 182  70
             this.messageLevel = messageLevel;
 183  70
         }
 184  
 
 185  
         public Message setError( Throwable error )
 186  
         {
 187  9
             this.error = error;
 188  9
             return this;
 189  
         }
 190  
 
 191  
         public Message append( CharSequence message )
 192  
         {
 193  69
             this.message.append( message.toString() );
 194  69
             return this;
 195  
         }
 196  
         
 197  
         public int getMessageLevel()
 198  
         {
 199  56
             return messageLevel;
 200  
         }
 201  
 
 202  
         public CharSequence render()
 203  
         {
 204  28
             StringBuffer buffer = new StringBuffer();
 205  
             
 206  28
             buffer.append( '[' ).append( MessageLevels.getLevelLabel( messageLevel ) ).append( "] " );
 207  
 
 208  28
             if ( message != null && message.length() > 0 )
 209  
             {
 210  25
                 buffer.append( message );
 211  
 
 212  25
                 if ( error != null )
 213  
                 {
 214  8
                     buffer.append( '\n' );
 215  
                 }
 216  
             }
 217  
 
 218  28
             if ( error != null )
 219  
             {
 220  10
                 buffer.append( "Error:\n" );
 221  
 
 222  10
                 StringWriter sw = new StringWriter();
 223  10
                 PrintWriter pw = new PrintWriter( sw );
 224  10
                 error.printStackTrace( pw );
 225  
 
 226  10
                 buffer.append( sw.toString() );
 227  
             }
 228  
 
 229  28
             return buffer;
 230  
         }
 231  
     }
 232  
 
 233  
     public MessageHolder addDebugMessage( CharSequence messagePart, Throwable error )
 234  
     {
 235  0
         return addMessage( MessageLevels.LEVEL_DEBUG, messagePart, error );
 236  
     }
 237  
 
 238  
     public MessageHolder addDebugMessage( CharSequence messagePart )
 239  
     {
 240  0
         return addMessage( MessageLevels.LEVEL_DEBUG, messagePart );
 241  
     }
 242  
 
 243  
     public MessageHolder addDebugMessage( Throwable error )
 244  
     {
 245  0
         return addMessage( MessageLevels.LEVEL_DEBUG, error );
 246  
     }
 247  
 
 248  
     public MessageHolder addErrorMessage( CharSequence messagePart, Throwable error )
 249  
     {
 250  0
         return addMessage( MessageLevels.LEVEL_ERROR, messagePart, error );
 251  
     }
 252  
 
 253  
     public MessageHolder addErrorMessage( CharSequence messagePart )
 254  
     {
 255  0
         return addMessage( MessageLevels.LEVEL_ERROR, messagePart );
 256  
     }
 257  
 
 258  
     public MessageHolder addErrorMessage( Throwable error )
 259  
     {
 260  0
         return addMessage( MessageLevels.LEVEL_ERROR, error );
 261  
     }
 262  
 
 263  
     public MessageHolder addInfoMessage( CharSequence messagePart, Throwable error )
 264  
     {
 265  0
         return addMessage( MessageLevels.LEVEL_INFO, messagePart, error );
 266  
     }
 267  
 
 268  
     public MessageHolder addInfoMessage( CharSequence messagePart )
 269  
     {
 270  0
         return addMessage( MessageLevels.LEVEL_INFO, messagePart );
 271  
     }
 272  
 
 273  
     public MessageHolder addInfoMessage( Throwable error )
 274  
     {
 275  0
         return addMessage( MessageLevels.LEVEL_INFO, error );
 276  
     }
 277  
 
 278  
     public MessageHolder addSevereMessage( CharSequence messagePart, Throwable error )
 279  
     {
 280  0
         return addMessage( MessageLevels.LEVEL_SEVERE, messagePart, error );
 281  
     }
 282  
 
 283  
     public MessageHolder addSevereMessage( CharSequence messagePart )
 284  
     {
 285  0
         return addMessage( MessageLevels.LEVEL_SEVERE, messagePart );
 286  
     }
 287  
 
 288  
     public MessageHolder addSevereMessage( Throwable error )
 289  
     {
 290  0
         return addMessage( MessageLevels.LEVEL_SEVERE, error );
 291  
     }
 292  
 
 293  
     public MessageHolder addWarningMessage( CharSequence messagePart, Throwable error )
 294  
     {
 295  0
         return addMessage( MessageLevels.LEVEL_WARNING, messagePart, error );
 296  
     }
 297  
 
 298  
     public MessageHolder addWarningMessage( CharSequence messagePart )
 299  
     {
 300  0
         return addMessage( MessageLevels.LEVEL_WARNING, messagePart );
 301  
     }
 302  
 
 303  
     public MessageHolder addWarningMessage( Throwable error )
 304  
     {
 305  0
         return addMessage( MessageLevels.LEVEL_WARNING, error );
 306  
     }
 307  
 
 308  
     public int countDebugMessages()
 309  
     {
 310  0
         return countMessagesOfType( MessageLevels.LEVEL_DEBUG );
 311  
     }
 312  
 
 313  
     public int countErrorMessages()
 314  
     {
 315  0
         return countMessagesOfType( MessageLevels.LEVEL_ERROR );
 316  
     }
 317  
 
 318  
     public int countInfoMessages()
 319  
     {
 320  0
         return countMessagesOfType( MessageLevels.LEVEL_INFO );
 321  
     }
 322  
 
 323  
     public int countMessages()
 324  
     {
 325  0
         return size();
 326  
     }
 327  
 
 328  
     public int countSevereMessages()
 329  
     {
 330  0
         return countMessagesOfType( MessageLevels.LEVEL_SEVERE );
 331  
     }
 332  
 
 333  
     public int countWarningMessages()
 334  
     {
 335  0
         return countMessagesOfType( MessageLevels.LEVEL_WARNING );
 336  
     }
 337  
     
 338  
     private int countMessagesOfType( int messageLevel )
 339  
     {
 340  0
         int count = 0;
 341  
         
 342  0
         for ( Iterator it = messages.iterator(); it.hasNext(); )
 343  
         {
 344  0
             Message message = (Message) it.next();
 345  0
             if ( messageLevel == message.getMessageLevel() )
 346  
             {
 347  0
                 count++;
 348  
             }
 349  
         }
 350  
         
 351  0
         return count;
 352  
     }
 353  
 
 354  
     public boolean isDebugEnabled()
 355  
     {
 356  0
         return messageLevelStates[MessageLevels.LEVEL_DEBUG];
 357  
     }
 358  
 
 359  
     public boolean isErrorEnabled()
 360  
     {
 361  0
         return messageLevelStates[MessageLevels.LEVEL_ERROR];
 362  
     }
 363  
 
 364  
     public boolean isInfoEnabled()
 365  
     {
 366  0
         return messageLevelStates[MessageLevels.LEVEL_INFO];
 367  
     }
 368  
 
 369  
     public boolean isSevereEnabled()
 370  
     {
 371  0
         return messageLevelStates[MessageLevels.LEVEL_SEVERE];
 372  
     }
 373  
 
 374  
     public boolean isWarningEnabled()
 375  
     {
 376  0
         return messageLevelStates[MessageLevels.LEVEL_WARNING];
 377  
     }
 378  
 
 379  
     public MessageHolder newDebugMessage()
 380  
     {
 381  0
         if ( isDebugEnabled() )
 382  
         {
 383  0
             newMessage( MessageLevels.LEVEL_DEBUG );
 384  
         }
 385  
         
 386  0
         return this;
 387  
     }
 388  
 
 389  
     public MessageHolder newErrorMessage()
 390  
     {
 391  0
         if ( isErrorEnabled() )
 392  
         {
 393  0
             newMessage( MessageLevels.LEVEL_ERROR );
 394  
         }
 395  
         
 396  0
         return this;
 397  
     }
 398  
 
 399  
     public MessageHolder newInfoMessage()
 400  
     {
 401  0
         if ( isInfoEnabled() )
 402  
         {
 403  0
             newMessage( MessageLevels.LEVEL_INFO );
 404  
         }
 405  
         
 406  0
         return this;
 407  
     }
 408  
 
 409  
     public MessageHolder newSevereMessage()
 410  
     {
 411  0
         if ( isSevereEnabled() )
 412  
         {
 413  0
             newMessage( MessageLevels.LEVEL_SEVERE );
 414  
         }
 415  
         
 416  0
         return this;
 417  
     }
 418  
 
 419  
     public MessageHolder newWarningMessage()
 420  
     {
 421  0
         if ( isWarningEnabled() )
 422  
         {
 423  0
             newMessage( MessageLevels.LEVEL_WARNING );
 424  
         }
 425  
         
 426  0
         return this;
 427  
     }
 428  
 
 429  
     public void setDebugEnabled( boolean enabled )
 430  
     {
 431  0
         messageLevelStates[MessageLevels.LEVEL_DEBUG] = enabled;
 432  0
     }
 433  
 
 434  
     public void setErrorEnabled( boolean enabled )
 435  
     {
 436  0
         messageLevelStates[MessageLevels.LEVEL_ERROR] = enabled;
 437  0
     }
 438  
 
 439  
     public void setInfoEnabled( boolean enabled )
 440  
     {
 441  0
         messageLevelStates[MessageLevels.LEVEL_INFO] = enabled;
 442  0
     }
 443  
 
 444  
     public void setSevereEnabled( boolean enabled )
 445  
     {
 446  0
         messageLevelStates[MessageLevels.LEVEL_SEVERE] = enabled;
 447  0
     }
 448  
 
 449  
     public void setWarningEnabled( boolean enabled )
 450  
     {
 451  0
         messageLevelStates[MessageLevels.LEVEL_WARNING] = enabled;
 452  0
     }
 453  
     
 454  
     public void flush()
 455  
     {
 456  0
         if ( onDemandSink != null && currentMessage != null )
 457  
         {
 458  0
             renderTo( currentMessage, onDemandSink );
 459  0
             currentMessage = null;
 460  
         }
 461  0
     }
 462  
 
 463  
     public void render( MessageSink sink )
 464  
     {
 465  0
         for ( Iterator it = messages.iterator(); it.hasNext(); )
 466  
         {
 467  0
             Message message = (Message) it.next();
 468  
             
 469  0
             renderTo( message, sink );
 470  
         }
 471  0
     }
 472  
 
 473  
     protected void renderTo( Message message, MessageSink sink )
 474  
     {
 475  0
         switch( message.getMessageLevel() )
 476  
         {
 477  
         case( MessageLevels.LEVEL_SEVERE ):
 478  
         {
 479  0
             sink.severe( message.render().toString() );
 480  0
             break;
 481  
         }
 482  
         case( MessageLevels.LEVEL_ERROR ):
 483  
         {
 484  0
             sink.error( message.render().toString() );
 485  0
             break;
 486  
         }
 487  
         case( MessageLevels.LEVEL_WARNING ):
 488  
         {
 489  0
             sink.warning( message.render().toString() );
 490  0
             break;
 491  
         }
 492  
         case( MessageLevels.LEVEL_INFO ):
 493  
         {
 494  0
             sink.info( message.render().toString() );
 495  0
             break;
 496  
         }
 497  
         default:
 498  
         {
 499  0
             sink.debug( message.render().toString() );
 500  
             break;
 501  
         }
 502  
         }
 503  0
     }
 504  
 
 505  
 }
././@LongLink0000000000000000000000000000015200000000000011563 Lustar rootrootsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.PlexusLoggerSink.htmlsrc/site/resources/sample-maven-shared-io-report/org.apache.maven.shared.io.logging.PlexusLoggerSink0000755000175000017500000002242211330102017033212 0ustar user03user03 Coverage Report
Coverage Report - org.apache.maven.shared.io.logging.PlexusLoggerSink
 
Classes in this File Line Coverage Branch Coverage Complexity
PlexusLoggerSink
0%
0/13
N/A
1
 
 1  
 package org.apache.maven.shared.io.logging;
 2  
 
 3  
 import org.codehaus.plexus.logging.Logger;
 4  
 
 5  
 
 6  
 public class PlexusLoggerSink
 7  
     implements MessageSink
 8  
 {
 9  
     
 10  
     private final Logger logger;
 11  
 
 12  
     public PlexusLoggerSink( Logger logger )
 13  0
     {
 14  0
         this.logger = logger;
 15  0
     }
 16  
 
 17  
     public void debug( String message )
 18  
     {
 19  0
         logger.debug( message );
 20  0
     }
 21  
 
 22  
     public void error( String message )
 23  
     {
 24  0
         logger.error( message );
 25  0
     }
 26  
 
 27  
     public void info( String message )
 28  
     {
 29  0
         logger.info( message );
 30  0
     }
 31  
 
 32  
     public void severe( String message )
 33  
     {
 34  0
         logger.fatalError( message );
 35  0
     }
 36  
 
 37  
     public void warning( String message )
 38  
     {
 39  0
         logger.warn( message );
 40  0
     }
 41  
 
 42  
 }