Skip to content

Commit

Permalink
Clean up hooks
Browse files Browse the repository at this point in the history
  • Loading branch information
basil committed Jan 14, 2023
1 parent 9abc651 commit 7e9e0f7
Show file tree
Hide file tree
Showing 11 changed files with 73 additions and 205 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -128,13 +128,16 @@ protected void configureLocalCheckOut(UpdateSite.Plugin currentPlugin, File loca
}

/**
* Returns the folder where the multimodule project parent will be checked out
* Return the folder where the multi-module project will be checked out. This should be the name
* of the plugin's Git repository.
*/
protected abstract String getParentFolder();

/**
* Returns the parent project name. This will be used to form the checkout tag with the format
* {@code parentProjectName-version}.
* Return the prefix to the SCM tag (usually the artifact ID of the base module). This will be
* used to form the checkout tag with the format {@code parentProjectName-version} in the (highly
* unlikely, and impossible for incrementalified plugins) event that the SCM tag is missing from
* the plugin's POM.
*/
protected abstract String getParentProjectName();

Expand Down
28 changes: 8 additions & 20 deletions src/main/java/org/jenkins/tools/test/hook/AwsJavaSdkHook.java
Original file line number Diff line number Diff line change
@@ -1,16 +1,13 @@
package org.jenkins.tools.test.hook;

import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jenkins.tools.test.model.PomData;

public class AwsJavaSdkHook extends AbstractMultiParentHook {
private static final Logger LOGGER = Logger.getLogger(AwsJavaSdkHook.class.getName());

@Override
protected String getParentFolder() {
return "aws-java-sdk";
return "aws-java-sdk-plugin";
}

@Override
Expand All @@ -20,21 +17,12 @@ protected String getParentProjectName() {

@Override
public boolean check(Map<String, Object> info) {
return isAwsJavaSdkPlugin(info);
}

private boolean isAwsJavaSdkPlugin(Map<String, Object> moreInfo) {
PomData data = (PomData) moreInfo.get("pomData");
return isAwsJavaSdkPlugin(data);
}

private boolean isAwsJavaSdkPlugin(PomData data) {
if (data.parent != null) {
return data.parent.artifactId.equalsIgnoreCase("aws-java-sdk-parent");
} else {
LOGGER.log(Level.WARNING, "Artifact {0} has no parent POM, likely it was incrementalified (JEP-305). " +
"Will guess the plugin by artifact ID. FTR JENKINS-55169", data.artifactId);
return data.artifactId.contains("aws-java-sdk");
}
PomData data = (PomData) info.get("pomData");
return ("org.jenkins-ci.plugins".equals(data.groupId)
&& "aws-java-sdk".equals(data.artifactId)
&& "hpi".equals(data.getPackaging()))
|| ("org.jenkins-ci.plugins.aws-java-sdk".equals(data.groupId)
&& data.artifactId.startsWith("aws-java-sdk")
&& "hpi".equals(data.getPackaging()));
}
}
29 changes: 6 additions & 23 deletions src/main/java/org/jenkins/tools/test/hook/BlueOceanHook.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
package org.jenkins.tools.test.hook;

import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.jenkins.tools.test.model.PomData;

/**
Expand All @@ -11,11 +9,9 @@
*/
public class BlueOceanHook extends AbstractMultiParentHook {

private static final Logger LOGGER = Logger.getLogger(BlueOceanHook.class.getName());

@Override
protected String getParentFolder() {
return "blueocean";
return "blueocean-plugin";
}


Expand All @@ -26,22 +22,9 @@ protected String getParentProjectName() {

@Override
public boolean check(Map<String, Object> info) {
return isBOPlugin(info);
}

private boolean isBOPlugin(Map<String, Object> moreInfo) {
PomData data = (PomData) moreInfo.get("pomData");
return isBOPlugin(data);
PomData data = (PomData) info.get("pomData");
return "io.jenkins.blueocean".equals(data.groupId)
&& (data.artifactId.startsWith("blueocean") || "jenkins-design-language".equals(data.artifactId))
&& "hpi".equals(data.getPackaging());
}

private boolean isBOPlugin(PomData data) {
if (data.parent != null) {
return data.parent.artifactId.equalsIgnoreCase("blueocean-parent");
} else {
LOGGER.log(Level.WARNING, "Artifact {0} has no parent POM, likely it was incrementalified (JEP-305). " +
"Will guess the plugin by artifact ID. FTR JENKINS-55169", data.artifactId);
return data.artifactId.contains("blueocean") || (data.groupId.contains("blueocean") && data.artifactId.contains("jenkins-design-language"));
}
}

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,14 @@ protected String getParentProjectName() {

@Override
public boolean check(Map<String, Object> info) {
return isCascPlugin(info);
PomData data = (PomData) info.get("pomData");
return "io.jenkins".equals(data.groupId)
&& "configuration-as-code".equals(data.artifactId)
&& "hpi".equals(data.getPackaging());
}

@Override
protected String getPluginFolderName(UpdateSite.Plugin currentPlugin) {
return "plugin";
}

private boolean isCascPlugin(Map<String, Object> moreInfo) {
PomData data = (PomData) moreInfo.get("pomData");
return isCascPlugin(data);
}

private boolean isCascPlugin(PomData data) {
if (data.parent != null) {
// Non-incrementals
return data.parent.groupId.equalsIgnoreCase("io.jenkins.configuration-as-code");
}

return "configuration-as-code".equalsIgnoreCase(data.artifactId);
}
}
Original file line number Diff line number Diff line change
@@ -1,20 +1,23 @@
package org.jenkins.tools.test.hook;

import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.Set;
import org.jenkins.tools.test.model.PomData;

/**
* Workaround for the Pipeline: Declarative plugins since they are stored in a central repository.
*/
public class DeclarativePipelineHook extends AbstractMultiParentHook {

private static final Logger LOGGER = Logger.getLogger(DeclarativePipelineHook.class.getName());
private static final Set<String> ARTIFACT_IDS = Set.of(
"pipeline-model-api",
"pipeline-model-definition",
"pipeline-model-extensions",
"pipeline-stage-tags-metadata");

@Override
protected String getParentFolder() {
return "pipeline-model-definition";
return "pipeline-model-definition-plugin";
}


Expand All @@ -25,21 +28,9 @@ protected String getParentProjectName() {

@Override
public boolean check(Map<String, Object> info) {
return isDPPlugin(info);
}

private boolean isDPPlugin(Map<String, Object> moreInfo) {
PomData data = (PomData) moreInfo.get("pomData");
return isDPPlugin(data);
}

private boolean isDPPlugin(PomData data) {
if (data.parent != null) {
return data.parent.artifactId.equalsIgnoreCase("pipeline-model-parent");
} else {
LOGGER.log(Level.WARNING, "Artifact {0} has no parent POM, likely it was incrementalified (JEP-305). " +
"Will guess the plugin by artifact ID. FTR JENKINS-55169", data.artifactId);
return data.artifactId.contains("pipeline-model") || data.artifactId.equalsIgnoreCase("pipeline-stage-tags-metadata");
}
PomData data = (PomData) info.get("pomData");
return "org.jenkinsci.plugins".equals(data.groupId)
&& ARTIFACT_IDS.contains(data.artifactId)
&& "hpi".equals(data.getPackaging());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,21 @@
import hudson.model.UpdateSite;

import java.util.Map;
import java.util.Set;

/**
* Workaround for the Declarative Pipeline Migration Assistant plugins since they are
* stored in a central repository.
*/
public class DeclarativePipelineMigrationHook extends AbstractMultiParentHook {

private static final Set<String> ARTIFACT_IDS = Set.of(
"declarative-pipeline-migration-assistant",
"declarative-pipeline-migration-assistant-api");

@Override
protected String getParentFolder() {
return "declarative-pipeline-migration-assistant";
return "declarative-pipeline-migration-assistant-plugin";
}


Expand All @@ -29,20 +34,9 @@ protected String getPluginFolderName(UpdateSite.Plugin currentPlugin){

@Override
public boolean check(Map<String, Object> info) {
return isPlugin(info);
}

private boolean isPlugin(Map<String, Object> moreInfo) {
PomData data = (PomData) moreInfo.get("pomData");
return isPlugin(data);
PomData data = (PomData) info.get("pomData");
return "org.jenkins-ci.plugins.to-declarative".equals(data.groupId)
&& ARTIFACT_IDS.contains(data.artifactId)
&& "hpi".equals(data.getPackaging());
}

private boolean isPlugin(PomData data) {
if (data.parent != null) {
return data.parent.artifactId.equalsIgnoreCase("declarative-pipeline-migration-assistant-parent");
}
return data.artifactId.contains("declarative-pipeline-migration-assistant") ||
data.artifactId.contains("declarative-pipeline-migration-assistant-api");
}

}
14 changes: 4 additions & 10 deletions src/main/java/org/jenkins/tools/test/hook/MinaSshdApi.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,9 @@ protected String getPluginFolderName(UpdateSite.Plugin currentPlugin){

@Override
public boolean check(Map<String, Object> info) {
return isMinaSshdApiPlugin(info);
}

private boolean isMinaSshdApiPlugin(Map<String, Object> moreInfo) {
PomData data = (PomData) moreInfo.get("pomData");
return isMinaSshdApiPlugin(data);
}

private boolean isMinaSshdApiPlugin(PomData data) {
return data.groupId.equals("io.jenkins.plugins.mina-sshd-api");
PomData data = (PomData) info.get("pomData");
return "io.jenkins.plugins.mina-sshd-api".equals(data.groupId)
&& data.artifactId.startsWith("mina-sshd-api")
&& "hpi".equals(data.getPackaging());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,19 @@

import hudson.model.UpdateSite;
import java.util.Map;
import java.util.Set;

import org.jenkins.tools.test.model.PomData;

public class PipelineStageViewHook extends AbstractMultiParentHook {

private static final Set<String> ARTIFACT_IDS = Set.of(
"pipeline-rest-api",
"pipeline-stage-view");

@Override
protected String getParentFolder() {
return "pipeline-stage-view";
return "pipeline-stage-view-plugin";
}


Expand All @@ -24,15 +30,9 @@ protected String getPluginFolderName(UpdateSite.Plugin currentPlugin){

@Override
public boolean check(Map<String, Object> info) {
return isPipelineStageViewPlugin(info);
}

private boolean isPipelineStageViewPlugin(Map<String, Object> moreInfo) {
PomData data = (PomData) moreInfo.get("pomData");
return isPipelineStageViewPlugin(data);
}

private boolean isPipelineStageViewPlugin(PomData data) {
return data.groupId.equals("org.jenkins-ci.plugins.pipeline-stage-view") || data.artifactId.contains("pipeline-rest-api");
PomData data = (PomData) info.get("pomData");
return "org.jenkins-ci.plugins.pipeline-stage-view".equals(data.groupId)
&& ARTIFACT_IDS.contains(data.artifactId)
&& "hpi".equals(data.getPackaging());
}
}
53 changes: 0 additions & 53 deletions src/main/java/org/jenkins/tools/test/hook/StructsHook.java

This file was deleted.

0 comments on commit 7e9e0f7

Please sign in to comment.