Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MENFORCER-307] - remove unCheckedPlugins field #92

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -131,22 +131,23 @@ public class RequirePluginVersions
*/
private List<String> additionalPlugins;

/**
* Plugins to skip for version enforcement. The plugins should be specified in the form:
* <code>group:artifactId</code>. NOTE: This is deprecated, use unCheckedPluginList instead.
*
* @see {@link #setUnCheckedPlugins(List)}
* @see {@link #getUnCheckedPlugins()}
*/
private List<String> unCheckedPlugins;
public String getUnCheckedPluginList()
{
return unCheckedPluginList;
}

public void setUnCheckedPluginList( String unCheckedPluginList )
{
this.unCheckedPluginList = unCheckedPluginList;
}

/**
* Same as unCheckedPlugins but as a comma list to better support properties. Sample form:
* Plugins to skip for version enforcement as a comma list to better support properties. Sample form:
* <code>group:artifactId,group2:artifactId2</code>
*
* @since 1.0-beta-1
* @see {@link #setUnCheckedPlugins(List)}
* @see {@link #getUnCheckedPlugins()}
* @see {@link #setUnCheckedPluginList(String)}
* @see {@link #getUnCheckedPluginList()}
*/
private String unCheckedPluginList;

Expand Down Expand Up @@ -214,8 +215,11 @@ public void execute( EnforcerRuleHelper helper )
allPlugins.addAll( getProfilePlugins( project ) );

// pull out any we should skip
allPlugins =
removeUncheckedPlugins( combineUncheckedPlugins( unCheckedPlugins, unCheckedPluginList ), allPlugins );
if ( null != unCheckedPluginList )
{
allPlugins =
removeUncheckedPlugins( Arrays.asList( unCheckedPluginList.split( "," ) ) , allPlugins );
}

// there's nothing to do here
if ( allPlugins.isEmpty() )
Expand Down Expand Up @@ -356,36 +360,6 @@ public Set<Plugin> removeUncheckedPlugins( Collection<String> uncheckedPlugins,
return plugins;
}

/**
* Combines the old Collection with the new comma separated list.
*
* @param uncheckedPlugins
* @param uncheckedPluginsList
* @return List of unchecked plugins.
*/
// CHECKSTYLE_OFF: LineLength
public Collection<String> combineUncheckedPlugins( Collection<String> uncheckedPlugins,
String uncheckedPluginsList )
// CHECKSTYLE_ON: LineLength
{
// if the comma list is empty, then there's nothing to do here.
if ( StringUtils.isNotEmpty( uncheckedPluginsList ) )
{
// make sure there is a collection to add to.
if ( uncheckedPlugins == null )
{
uncheckedPlugins = new HashSet<String>();
}
else if ( !uncheckedPlugins.isEmpty() && log != null )
{
log.warn( "The parameter 'unCheckedPlugins' is deprecated. Use 'unCheckedPluginList' instead" );
}

uncheckedPlugins.addAll( Arrays.asList( uncheckedPluginsList.split( "," ) ) );
}
return uncheckedPlugins;
}

/**
* Add the additional plugins if they don't exist yet.
*
Expand Down Expand Up @@ -1235,16 +1209,6 @@ public void setBanTimestamps( boolean theBanTimestamps )
this.banTimestamps = theBanTimestamps;
}

public List<String> getUnCheckedPlugins()
{
return unCheckedPlugins;
}

public void setUnCheckedPlugins( List<String> unCheckedPlugins )
{
this.unCheckedPlugins = unCheckedPlugins;
}

public final void setPhases( String phases )
{
this.phases = phases;
Expand Down
Expand Up @@ -319,127 +319,6 @@ public void testGetUncheckedPlugins()

}

/**
* Test combining values from both lists
*/
public void testCombinePlugins()
{
RequirePluginVersions rule = new RequirePluginVersions();

Set<String> plugins = new HashSet<String>();
plugins.add( "group:a-artifact" );
plugins.add( "group:foo" );
plugins.add( "group:foo2" );

Collection<String> results = rule.combineUncheckedPlugins( plugins, "group2:a,group3:b" );

// make sure only one new plugin has been added
assertNotNull( results );
assertEquals( 5, results.size() );
assertTrue( results.contains( "group:foo") );
assertTrue( results.contains( "group:foo2") );
assertTrue( results.contains( "group:a-artifact") );
assertTrue( results.contains( "group2:a") );
assertTrue( results.contains( "group3:b") );
}

/**
* Test combining with an empty list
*/
public void testCombinePlugins1()
{
RequirePluginVersions rule = new RequirePluginVersions();

Set<String> plugins = new HashSet<String>();
Collection<String> results = rule.combineUncheckedPlugins( plugins, "group2:a,group3:b" );


// make sure only one new plugin has been added
assertNotNull( results );
assertEquals( 2, results.size() );
assertTrue( results.contains( "group2:a") );
assertTrue( results.contains( "group3:b") );
}

/**
* Test combining with a null list
*/
public void testCombinePlugins2()
{
RequirePluginVersions rule = new RequirePluginVersions();

Collection<String> results = rule.combineUncheckedPlugins( null, "group2:a,group3:b" );


// make sure only one new plugin has been added
assertNotNull( results );
assertEquals( 2, results.size() );
assertTrue( results.contains( "group2:a") );
assertTrue( results.contains( "group3:b") );
}

/**
* Test combining with an empty string
*/
public void testCombinePlugins3()
{
RequirePluginVersions rule = new RequirePluginVersions();

Set<String> plugins = new HashSet<String>();
plugins.add( "group:a-artifact" );
plugins.add( "group:foo" );
plugins.add( "group:foo2" );

Collection<String> results = rule.combineUncheckedPlugins( plugins, "" );
assertNotNull( results );
assertEquals( 3, results.size() );
assertTrue( results.contains( "group:foo") );
assertTrue( results.contains( "group:foo2") );
assertTrue( results.contains( "group:a-artifact") );
}

/**
* Test combining with a null string
*/
public void testCombinePlugins4()
{
RequirePluginVersions rule = new RequirePluginVersions();

Set<String> plugins = new HashSet<String>();
plugins.add( "group:a-artifact" );
plugins.add( "group:foo" );
plugins.add( "group:foo2" );

Collection<String> results = rule.combineUncheckedPlugins( plugins, null );
assertNotNull( results );
assertEquals( 3, results.size() );
assertTrue( results.contains( "group:foo") );
assertTrue( results.contains( "group:foo2") );
assertTrue( results.contains( "group:a-artifact") );
}

/**
* Test combining with an invalid plugin string
*/
public void testCombinePlugins5()
{
RequirePluginVersions rule = new RequirePluginVersions();

Set<String> plugins = new HashSet<String>();
plugins.add( "group:a-artifact" );
plugins.add( "group:foo" );
plugins.add( "group:foo2" );

Collection<String> results = rule.combineUncheckedPlugins( plugins, "a" );
assertNotNull( results );
assertEquals( 4, results.size() );
assertTrue( results.contains( "group:foo") );
assertTrue( results.contains( "group:foo2") );
//this should be here, the checking of a valid plugin string happens in another method.
assertTrue( results.contains( "a") );
}


/**
* Assert contains plugin.
*
Expand Down