Skip to content

Commit b1840a4

Browse files
Captain-P-Goldfishmichael-o
authored andcommitted
[MRELEASE-1107] Respect "lineSeparator" also on "mvn release:prepare"
This closes #154
1 parent 83deb62 commit b1840a4

File tree

3 files changed

+51
-5
lines changed

3 files changed

+51
-5
lines changed

maven-release-plugin/src/main/java/org/apache/maven/plugins/release/AbstractReleaseMojo.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -257,6 +257,14 @@ public void setPomFileName( String pomFileName )
257257
this.pomFileName = pomFileName;
258258
}
259259

260+
/**
261+
* only used for unit tests in which some required values of the project would be null
262+
*/
263+
protected MavenProject getProject()
264+
{
265+
return this.project;
266+
}
267+
260268
/**
261269
* Gets the list of projects in the build reactor.
262270
*

maven-release-plugin/src/main/java/org/apache/maven/plugins/release/PrepareReleaseMojo.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -387,10 +387,7 @@ protected void prepareRelease( boolean generateReleasePoms )
387387
config.setScmReleaseCommitComment( scmReleaseCommitComment );
388388
config.setAutoResolveSnapshots( autoResolveSnapshots );
389389
config.setPinExternals( pinExternals );
390-
if ( generateReleasePoms )
391-
{
392-
config.setLineSeparator( resolveLineSeparator() );
393-
}
390+
config.setLineSeparator( resolveLineSeparator() );
394391

395392
if ( checkModificationExcludeList != null )
396393
{

maven-release-plugin/src/test/java/org/apache/maven/plugins/release/PrepareReleaseMojoTest.java

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
import org.apache.maven.shared.release.config.ReleaseDescriptorBuilder;
5151
import org.apache.maven.shared.release.env.ReleaseEnvironment;
5252
import org.mockito.ArgumentCaptor;
53+
import org.mockito.Mockito;
5354
import org.mockito.invocation.InvocationOnMock;
5455
import org.mockito.stubbing.Answer;
5556

@@ -72,6 +73,7 @@ public void testPrepare()
7273
{
7374
File testFile = getTestFile( "target/test-classes/mojos/prepare/prepare.xml" );
7475
final PrepareReleaseMojo mojo = spy((PrepareReleaseMojo) lookupMojo( "prepare", testFile ));
76+
mojo.getProject().setFile(testFile);
7577
setDefaults( mojo );
7678
mojo.setBasedir( testFile.getParentFile() );
7779
mojo.setPomFileName( "pom.xml" );
@@ -127,6 +129,7 @@ public void testPrepareWithExecutionException()
127129
{
128130
File testFile = getTestFile( "target/test-classes/mojos/prepare/prepare.xml" );
129131
final PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile );
132+
mojo.getProject().setFile(testFile);
130133
setDefaults( mojo );
131134
mojo.setBasedir( testFile.getParentFile() );
132135
mojo.setPomFileName( "pom.xml" );
@@ -169,6 +172,7 @@ public void testPrepareWithExecutionFailure()
169172
{
170173
File testFile = getTestFile( "target/test-classes/mojos/prepare/prepare.xml" );
171174
final PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile );
175+
mojo.getProject().setFile(testFile);
172176
setDefaults( mojo );
173177
mojo.setBasedir( testFile.getParentFile() );
174178
mojo.setPomFileName( "pom.xml" );
@@ -211,6 +215,7 @@ public void testLineSeparatorInPrepareWithPom()
211215
{
212216
File testFile = getTestFile( "target/test-classes/mojos/prepare/prepare.xml" );
213217
final PrepareWithPomReleaseMojo mojo = (PrepareWithPomReleaseMojo) lookupMojo( "prepare-with-pom", testFile );
218+
mojo.getProject().setFile(testFile);
214219
setDefaults( mojo );
215220
setVariableValueToObject( mojo, "generateReleasePoms", Boolean.TRUE );
216221
mojo.setBasedir( testFile.getParentFile() );
@@ -242,7 +247,43 @@ public List<MavenProject> getProjects()
242247
testLineSeparator("system", System.lineSeparator(), mojo, mock, times++);
243248
}
244249

245-
private void testLineSeparator( String lineSeparator, String expected, PrepareWithPomReleaseMojo mojo,
250+
public void testLineSeparatorInPrepare()
251+
throws Exception
252+
{
253+
File testFile = getTestFile( "target/test-classes/mojos/prepare/prepare.xml" );
254+
final PrepareReleaseMojo mojo = (PrepareReleaseMojo) lookupMojo( "prepare", testFile );
255+
mojo.getProject().setFile(testFile);
256+
setDefaults( mojo );
257+
mojo.setBasedir( testFile.getParentFile() );
258+
mojo.setPomFileName( "pom.xml" );
259+
mojo.project.setFile( testFile );
260+
mojo.session = new MavenSession( null, null, null, null, null, null, null, null, null )
261+
{
262+
public Properties getExecutionProperties()
263+
{
264+
return new Properties();
265+
};
266+
267+
@Override
268+
public List<MavenProject> getProjects()
269+
{
270+
return Collections.singletonList( mojo.project );
271+
}
272+
};
273+
274+
ReleaseManager mock = mock( ReleaseManager.class );
275+
mojo.setReleaseManager( mock );
276+
277+
int times = 1;
278+
testLineSeparator(null, "\n", mojo, mock, times++);
279+
testLineSeparator("source", "\n", mojo, mock, times++);
280+
testLineSeparator("cr", "\r", mojo, mock, times++);
281+
testLineSeparator("lf", "\n", mojo, mock, times++);
282+
testLineSeparator("crlf", "\r\n", mojo, mock, times++);
283+
testLineSeparator("system", System.lineSeparator(), mojo, mock, times++);
284+
}
285+
286+
private void testLineSeparator( String lineSeparator, String expected, PrepareReleaseMojo mojo,
246287
ReleaseManager releaseManager, int times )
247288
throws Exception
248289
{

0 commit comments

Comments
 (0)