[MDEPLOY-311] Consider packaging in deploy-file mojo (#71) · apache/maven-deploy-plugin@14cc4c3 (original) (raw)

`@@ -55,6 +55,8 @@

`

55

55

`import org.eclipse.aether.deployment.DeploymentException;

`

56

56

`import org.eclipse.aether.repository.RemoteRepository;

`

57

57

`import org.eclipse.aether.util.artifact.SubArtifact;

`

``

58

`+

import org.slf4j.Logger;

`

``

59

`+

import org.slf4j.LoggerFactory;

`

58

60

``

59

61

`/**

`

60

62

` * Installs the artifact in the remote repository.

`

`@@ -63,6 +65,7 @@

`

63

65

` */

`

64

66

`@Mojo(name = "deploy-file", requiresProject = false, threadSafe = true)

`

65

67

`public class DeployFileMojo extends AbstractDeployMojo {

`

``

68

`+

private final Logger log = LoggerFactory.getLogger(getClass());

`

66

69

`/**

`

67

70

` * GroupId of the artifact to be deployed. Retrieved from POM file if specified.

`

68

71

` */

`

`@@ -90,6 +93,15 @@ public class DeployFileMojo extends AbstractDeployMojo {

`

90

93

`@Parameter(property = "packaging")

`

91

94

`private String packaging;

`

92

95

``

``

96

`+

/**

`

``

97

`+

`

``

98

`+

`

``

99

`+

`

``

100

`+

`

``

101

`+

*/

`

``

102

`+

@Parameter(property = "extension")

`

``

103

`+

private String extension;

`

``

104

+

93

105

`/**

`

94

106

` * Description passed to a generated POM file (in case of generatePom=true)

`

95

107

` */

`

`@@ -196,7 +208,7 @@ void initProperties() throws MojoExecutionException {

`

196

208

`JarEntry entry = jarEntries.nextElement();

`

197

209

``

198

210

`if (pomEntry.matcher(entry.getName()).matches()) {

`

199

``

`-

getLog().debug("Using " + entry.getName() + " as pomFile");

`

``

211

`+

log.debug("Using {} as pomFile", entry.getName());

`

200

212

`foundPom = true;

`

201

213

`String base = file.getName();

`

202

214

`if (base.indexOf('.') > 0) {

`

`@@ -215,7 +227,7 @@ void initProperties() throws MojoExecutionException {

`

215

227

` }

`

216

228

``

217

229

`if (!foundPom) {

`

218

``

`-

getLog().info("pom.xml not found in " + file.getName());

`

``

230

`+

log.info("pom.xml not found in {}", file.getName());

`

219

231

` }

`

220

232

` } catch (IOException e) {

`

221

233

`// ignore, artifact not packaged by Maven

`

`@@ -235,7 +247,7 @@ public void execute() throws MojoExecutionException, MojoFailureException {

`

235

247

`if (Boolean.parseBoolean(skip)

`

236

248

` || ("releases".equals(skip) && !ArtifactUtils.isSnapshot(version))

`

237

249

` || ("snapshots".equals(skip) && ArtifactUtils.isSnapshot(version))) {

`

238

``

`-

getLog().info("Skipping artifact deployment");

`

``

250

`+

log.info("Skipping artifact deployment");

`

239

251

`return;

`

240

252

` }

`

241

253

``

`@@ -266,18 +278,29 @@ public void execute() throws MojoExecutionException, MojoFailureException {

`

266

278

`DeployRequest deployRequest = new DeployRequest();

`

267

279

`deployRequest.setRepository(remoteRepository);

`

268

280

``

269

``

`-

boolean isFilePom = classifier == null && "pom".equals(packaging);

`

270

``

`-

if (!isFilePom) {

`

``

281

`+

String mainArtifactExtension;

`

``

282

`+

if (classifier == null && "pom".equals(packaging)) {

`

``

283

`+

mainArtifactExtension = "pom";

`

``

284

`+

} else {

`

271

285

`ArtifactType artifactType =

`

272

286

`session.getRepositorySession().getArtifactTypeRegistry().get(packaging);

`

273

``

`-

if (artifactType != null

`

274

``

`-

&& (classifier == null || classifier.isEmpty())

`

275

``

`-

&& !StringUtils.isEmpty(artifactType.getClassifier())) {

`

276

``

`-

classifier = artifactType.getClassifier();

`

``

287

`+

if (artifactType != null) {

`

``

288

`+

if (StringUtils.isEmpty(classifier) && !StringUtils.isEmpty(artifactType.getClassifier())) {

`

``

289

`+

classifier = artifactType.getClassifier();

`

``

290

`+

}

`

``

291

`+

mainArtifactExtension = artifactType.getExtension();

`

``

292

`+

} else {

`

``

293

`+

mainArtifactExtension = packaging;

`

277

294

` }

`

278

295

` }

`

``

296

`+

if (extension != null && !Objects.equals(extension, mainArtifactExtension)) {

`

``

297

`+

log.warn(

`

``

298

`+

"Main artifact extension should be '{}' but was overridden to '{}'",

`

``

299

`+

mainArtifactExtension,

`

``

300

`+

extension);

`

``

301

`+

}

`

279

302

`Artifact mainArtifact = new DefaultArtifact(

`

280

``

`-

groupId, artifactId, classifier, isFilePom ? "pom" : getExtension(file), version)

`

``

303

`+

groupId, artifactId, classifier, extension != null ? extension : mainArtifactExtension, version)

`

281

304

` .setFile(file);

`

282

305

`deployRequest.addArtifact(mainArtifact);

`

283

306

``

`@@ -293,10 +316,10 @@ public void execute() throws MojoExecutionException, MojoFailureException {

`

293

316

`deployRequest.addArtifact(new SubArtifact(mainArtifact, "", "pom", pomFile));

`

294

317

` } else if (generatePom) {

`

295

318

`temporaryPom = generatePomFile();

`

296

``

`-

getLog().debug("Deploying generated POM");

`

``

319

`+

log.debug("Deploying generated POM");

`

297

320

`deployRequest.addArtifact(new SubArtifact(mainArtifact, "", "pom", temporaryPom));

`

298

321

` } else {

`

299

``

`-

getLog().debug("Skipping deploying POM");

`

``

322

`+

log.debug("Skipping deploying POM");

`

300

323

` }

`

301

324

` }

`

302

325

``