Skip to content

Commit

Permalink
MID-8842 ninja - bugfixing distribution upgrade, more options for dow…
Browse files Browse the repository at this point in the history
…nload distribution action

(cherry picked from commit 4cc5f53)
  • Loading branch information
1azyman committed Jul 28, 2023
1 parent 865b592 commit 2e5964c
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ public void setErr(@NotNull PrintStream err) {
this.err = err;
}

// todo main doesn't return error code non zero if error occurrs, fix this
protected <T> Object run(String[] args) {
AnsiConsole.systemInstall();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,14 @@
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;

import com.evolveum.midpoint.ninja.action.upgrade.ConsoleProgressListener;
import com.evolveum.midpoint.ninja.action.upgrade.DistributionManager;
import com.evolveum.midpoint.ninja.action.upgrade.ProgressListener;
import com.evolveum.midpoint.ninja.action.upgrade.UpgradeConstants;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.fusesource.jansi.Ansi;

import com.evolveum.midpoint.ninja.action.Action;
import com.evolveum.midpoint.ninja.action.upgrade.ConsoleProgressListener;
import com.evolveum.midpoint.ninja.action.upgrade.DistributionManager;
import com.evolveum.midpoint.ninja.action.upgrade.ProgressListener;
import com.evolveum.midpoint.ninja.impl.Log;

public class DownloadDistributionAction extends Action<DownloadDistributionOptions, DownloadDistributionResult> {
Expand All @@ -41,7 +40,7 @@ public DownloadDistributionResult execute() throws Exception {

DistributionManager manager = new DistributionManager(tempDirectory);
ProgressListener listener = new ConsoleProgressListener(context.out);

// todo handle if distribution doesn't exist (http 404)
distributionZipFile = manager.downloadDistribution(version, listener);
} else {
log.info("Distribution zip already downloaded.");
Expand Down Expand Up @@ -101,6 +100,12 @@ private File unzipDistribution(File distributionZip) throws IOException {
zipRootDirectory.delete();
}

if (options.getDistributionDirectory() != null) {
File distributionDirectory = options.getDistributionDirectory();

return distribution.renameTo(distributionDirectory) ? distributionDirectory : distribution;
}

return distribution;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,15 @@
public class DownloadDistributionOptions extends UpgradeCommonOptions {

public static final String P_DISTRIBUTION_VERSION = "--distribution-version";

public static final String P_DISTRIBUTION_ARCHIVE = "--distribution-archive";
public static final String P_DISTRIBUTION_DIRECTORY = "--distribution-directory";

@Parameter(names = { P_DISTRIBUTION_ARCHIVE }, descriptionKey = "upgradeDistribution.distributionArchive")
private File distributionArchive;

@Parameter(names = { P_DISTRIBUTION_DIRECTORY }, descriptionKey = "upgradeDistribution.distributionDirectory")
private File distributionDirectory;

@Parameter(names = { P_DISTRIBUTION_VERSION }, descriptionKey = "upgradeDistribution.distributionVersion", hidden = true)
private String distributionVersion = UpgradeConstants.SUPPORTED_VERSION_TARGET;

Expand All @@ -37,4 +40,12 @@ public String getDistributionVersion() {
public void setDistributionVersion(String distributionVersion) {
this.distributionVersion = distributionVersion;
}

public File getDistributionDirectory() {
return distributionDirectory;
}

public void setDistributionDirectory(File distributionDirectory) {
this.distributionDirectory = distributionDirectory;
}
}
1 change: 1 addition & 0 deletions tools/ninja/src/main/resources/messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,4 @@ upgradeObjects.types=Upgrade type.
upgradeObjects.priorities=Upgrade priority.
downloadDistribution=Download target midPoint distribution (latest LTS).
upgradeObjects.skipUpgradeWarning=Skip warning about files being updated.
upgradeDistribution.distributionDirectory=Distribution directory where distribution ZIP file should be expanded as output of this command.

0 comments on commit 2e5964c

Please sign in to comment.