This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev-2.1.2
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev-2.1.2 by this push:
new e662e4741 [Improve] FE job dependency component improvements (#3373)
e662e4741 is described below
commit e662e47418f5b20c9fcbd86939132194ec77e76e
Author: benjobs <[email protected]>
AuthorDate: Sun Dec 3 20:30:25 2023 +0800
[Improve] FE job dependency component improvements (#3373)
* [Improve] FE job dependency component improvements
* [Improve] MavenTool support mirror|proxy
* [Improve] FE dependency component get latest value bug fixed
* [Improve] resolve maven artifacts bug fixed.
---------
Co-authored-by: benjobs <[email protected]>
---
.mvn/wrapper/MavenWrapperHelper.java | 2 +-
.../console/core/entity/Application.java | 6 ++
.../core/service/impl/AppBuildPipeServiceImpl.java | 14 ++++-
.../core/service/impl/ApplicationServiceImpl.java | 2 +-
.../src/views/flink/app/Add.vue | 7 ++-
.../src/views/flink/app/EditFlink.vue | 6 +-
.../src/views/flink/app/EditStreamPark.vue | 6 +-
.../src/views/flink/app/components/Dependency.vue | 10 ++--
.../flink/app/hooks/useCreateAndEditSchema.ts | 23 +-------
.../src/views/flink/app/hooks/useCreateSchema.ts | 9 +++
.../src/views/flink/app/hooks/useEditStreamPark.ts | 14 ++++-
.../src/views/flink/app/hooks/useFlinkRender.tsx | 11 +++-
.../src/views/flink/app/styles/Add.less | 2 -
.../streampark/flink/packer/maven/MavenTool.scala | 69 +++++++++++++++++++---
14 files changed, 126 insertions(+), 55 deletions(-)
diff --git a/.mvn/wrapper/MavenWrapperHelper.java
b/.mvn/wrapper/MavenWrapperHelper.java
index 6be349789..428fa81ff 100644
--- a/.mvn/wrapper/MavenWrapperHelper.java
+++ b/.mvn/wrapper/MavenWrapperHelper.java
@@ -98,7 +98,7 @@ public final class MavenWrapperHelper {
log(" - Downloader complete");
}
- public static String getFileMd5(String path) throws Exception {
+ private static String getFileMd5(String path) throws Exception {
MessageDigest md5 = MessageDigest.getInstance("MD5");
try (FileInputStream inputStream = new FileInputStream(path)) {
byte[] buffer = new byte[1024];
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
index 1bbee1382..e375d521a 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/entity/Application.java
@@ -462,6 +462,12 @@ public class Application implements Serializable {
return DevelopmentMode.CUSTOM_CODE.getValue().equals(this.getJobType());
}
+ @JsonIgnore
+ public boolean isApacheFlinkCustomCodeJob() {
+ return DevelopmentMode.CUSTOM_CODE.getValue().equals(this.getJobType())
+ && getApplicationType() == ApplicationType.APACHE_FLINK;
+ }
+
@JsonIgnore
public boolean isUploadJob() {
return isCustomCodeJob() &&
ResourceFrom.UPLOAD.getValue().equals(this.getResourceFrom());
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
index 59c0e108f..f17995c14 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/AppBuildPipeServiceImpl.java
@@ -378,7 +378,7 @@ public class AppBuildPipeServiceImpl
FsOperator localFS = FsOperator.lfs();
// 1. copy jar to local upload dir
- if (app.isFlinkSqlJob() || app.isUploadJob()) {
+ if (app.isFlinkSqlJob() || app.isApacheFlinkCustomCodeJob()) {
if (!app.getMavenDependency().getJar().isEmpty()) {
for (String jar : app.getMavenDependency().getJar()) {
File localJar = new File(WebUtils.getAppTempDir(), jar);
@@ -393,7 +393,7 @@ public class AppBuildPipeServiceImpl
}
}
- if (app.isCustomCodeJob()) {
+ if (app.isApacheFlinkCustomCodeJob()) {
// customCode upload jar to appHome...
FsOperator fsOperator = app.getFsOperator();
ResourceFrom resourceFrom = ResourceFrom.of(app.getResourceFrom());
@@ -437,7 +437,15 @@ public class AppBuildPipeServiceImpl
if (!app.getMavenDependency().getPom().isEmpty()) {
Set<Artifact> artifacts =
app.getMavenDependency().getPom().stream()
- .filter(x -> !new File(localUploadDIR,
x.artifactName()).exists())
+ .filter(
+ dep -> {
+ File file = new File(localUploadDIR,
dep.artifactName());
+ if (file.exists()) {
+ dependencyJars.add(file);
+ return false;
+ }
+ return true;
+ })
.map(
pom ->
new Artifact(
diff --git
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
index 0d1d45785..8b8b5b53b 100644
---
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
+++
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ApplicationServiceImpl.java
@@ -852,7 +852,7 @@ public class ApplicationServiceImpl extends
ServiceImpl<ApplicationMapper, Appli
application.setRelease(ReleaseState.NEED_RELEASE.get());
- if (application.isUploadJob()) {
+ if (application.isApacheFlinkCustomCodeJob()) {
MavenDependency thisDependency =
MavenDependency.of(appParam.getDependency());
MavenDependency targetDependency =
MavenDependency.of(application.getDependency());
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/Add.vue
b/streampark-console/streampark-console-webapp/src/views/flink/app/Add.vue
index 071231e0c..f23aa06e3 100644
--- a/streampark-console/streampark-console-webapp/src/views/flink/app/Add.vue
+++ b/streampark-console/streampark-console-webapp/src/views/flink/app/Add.vue
@@ -201,8 +201,9 @@
} else {
params['jar'] = values.jar || null;
params['mainClass'] = values.mainClass || null;
+ params['dependency'] = await getDependency();
}
- handleCreateApp(params);
+ await handleCreateApp(params);
} else {
// from upload
Object.assign(params, {
@@ -212,13 +213,13 @@
mainClass: values.mainClass,
dependency: await getDependency(),
});
- handleCreateApp(params);
+ await handleCreateApp(params);
}
}
}
async function getDependency() {
// Trigger a pom confirmation operation.
- unref(dependencyRef)?.handleApplyPom();
+ await unref(dependencyRef)?.handleApplyPom();
// common params...
const dependency: { pom?: string; jar?: string } = {};
const dependencyRecords = unref(dependencyRef)?.dependencyRecords;
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/EditFlink.vue
b/streampark-console/streampark-console-webapp/src/views/flink/app/EditFlink.vue
index e75e0d544..31a6e3208 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/EditFlink.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/EditFlink.vue
@@ -144,9 +144,9 @@
}
/* Handling update parameters */
- function handleAppUpdate(values: Recordable) {
+ async function handleAppUpdate(values: Recordable) {
// Trigger a pom confirmation operation.
- unref(dependencyRef)?.handleApplyPom();
+ await unref(dependencyRef)?.handleApplyPom();
// common params...
const dependency: { pom?: string; jar?: string } = {};
const dependencyRecords = unref(dependencyRef)?.dependencyRecords;
@@ -173,7 +173,7 @@
: JSON.stringify(dependency),
};
handleSubmitParams(params, values, k8sTemplate);
- handleUpdateApp(params);
+ await handleUpdateApp(params);
} catch (error) {
submitLoading.value = false;
}
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
b/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
index 9e307ea24..c6f9197b0 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/EditStreamPark.vue
@@ -176,10 +176,10 @@
}
}
- function handleSubmitSQL(values: Recordable) {
+ async function handleSubmitSQL(values: Recordable) {
try {
// Trigger a pom confirmation operation.
- unref(dependencyRef)?.handleApplyPom();
+ await unref(dependencyRef)?.handleApplyPom();
// common params...
const dependency: { pom?: string; jar?: string } = {};
const dependencyRecords = unref(dependencyRef)?.dependencyRecords;
@@ -212,7 +212,7 @@
: JSON.stringify(dependency),
};
handleSubmitParams(params, values, k8sTemplate);
- handleUpdateApp(params);
+ await handleUpdateApp(params);
} catch (error) {
createMessage.error('edit error');
submitLoading.value = false;
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
index 5c9686a45..f3c1b4c37 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/components/Dependency.vue
@@ -75,7 +75,7 @@
const { t } = useI18n();
const defaultValue = '';
const { Swal } = useMessage();
- const { onChange, setContent } = useMonaco(pomBox, {
+ const { onChange, setContent, getContent } = useMonaco(pomBox, {
language: 'xml',
code: props.value || defaultValue,
options: {
@@ -106,7 +106,8 @@
const classifierExp = /<classifier>([\s\S]*?)<\/classifier>/;
const exclusionsExp = /<exclusions>([\s\S]*?)<\/exclusions>/;
const invalidArtifact: Array<string> = [];
- props.value
+ const propsValue = await getContent();
+ propsValue
.split('</dependency>')
.filter((x) => x.replace(/\\s+/, '') !== '')
.forEach((dep) => {
@@ -217,8 +218,7 @@
/* load history config records */
async function handleReloadHistoryUploads() {
selectedHistoryUploadJars.value = [];
- const res = await fetchUploadJars();
- historyUploadJars.value = res;
+ historyUploadJars.value = await fetchUploadJars();
}
const filteredHistoryUploadJarsOptions = computed(() => {
@@ -291,7 +291,7 @@
<Tabs type="card" v-model:activeKey="activeTab" class="pom-card">
<TabPane key="pom" tab="Maven pom">
<div class="relative">
- <div ref="pomBox" class="pom-box syntax-true" style="height:
300px"></div>
+ <div ref="pomBox" class="pom-box syntax-true" style="height:
330px"></div>
<a-button type="primary" class="apply-pom" @click="handleApplyPom()">
{{ t('common.apply') }}
</a-button>
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
index 2a1a3b915..8a6942398 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateAndEditSchema.ts
@@ -49,13 +49,7 @@ import { fetchFlinkEnv } from
'/@/api/flink/setting/flinkEnv';
import { FlinkEnv } from '/@/api/flink/setting/types/flinkEnv.type';
import { AlertSetting } from '/@/api/flink/setting/types/alert.type';
import { FlinkCluster } from '/@/api/flink/setting/types/flinkCluster.type';
-import {
- AppTypeEnum,
- ClusterStateEnum,
- ExecModeEnum,
- JobTypeEnum,
- ResourceFromEnum,
-} from '/@/enums/flinkEnum';
+import { AppTypeEnum, ClusterStateEnum, ExecModeEnum, JobTypeEnum } from
'/@/enums/flinkEnum';
import { isK8sExecMode } from '../utils';
import { useI18n } from '/@/hooks/web/useI18n';
import { fetchCheckHadoop } from '/@/api/flink/setting';
@@ -125,21 +119,6 @@ export const useCreateAndEditSchema = (
},
rules: [{ required: true, message:
t('flink.app.addAppTips.flinkSqlIsRequiredMessage') }],
},
- {
- field: 'dependency',
- label: t('flink.app.dependency'),
- component: 'Input',
- slot: 'dependency',
- ifShow: ({ values }) => {
- if (edit?.appId) {
- return values.jobType == JobTypeEnum.SQL
- ? true
- : values.resourceFrom == ResourceFromEnum.UPLOAD;
- } else {
- return values?.jobType == 'sql' ? true : values?.resourceFrom !=
'cvs';
- }
- },
- },
{ field: 'configOverride', label: '', component: 'Input', show: false },
{
field: 'isSetConfig',
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
index 4ef2557b3..f12392303 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useCreateSchema.ts
@@ -242,6 +242,15 @@ export const useCreateSchema = (dependencyRef: Ref) => {
values.appType == String(AppTypeEnum.APACHE_FLINK),
rules: [{ required: true, message:
t('flink.app.addAppTips.mainClassIsRequiredMessage') }],
},
+ {
+ field: 'dependency',
+ label: t('flink.app.dependency'),
+ component: 'Input',
+ slot: 'dependency',
+ ifShow: ({ values }) => {
+ return values?.jobType == 'sql' ? true : values?.appType ==
AppTypeEnum.APACHE_FLINK;
+ },
+ },
{
field: 'config',
label: t('flink.app.appConf'),
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
index a4bb6c15f..3ad8db2cd 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useEditStreamPark.ts
@@ -16,7 +16,7 @@
*/
import { FormSchema } from '/@/components/Table';
import { computed, h, Ref, ref, unref } from 'vue';
-import { ExecModeEnum, JobTypeEnum, UseStrategyEnum } from
'/@/enums/flinkEnum';
+import { AppTypeEnum, ExecModeEnum, JobTypeEnum, UseStrategyEnum } from
'/@/enums/flinkEnum';
import { useCreateAndEditSchema } from './useCreateAndEditSchema';
import { renderSqlHistory } from './useFlinkRender';
import { Alert } from 'ant-design-vue';
@@ -141,7 +141,6 @@ export const useEditStreamParkSchema = (
ifShow: ({ model, values }) => values.jobType != JobTypeEnum.SQL &&
model.projectName,
},
{ field: 'project', label: 'ProjectId', component: 'Input', show: false
},
-
{
field: 'module',
label: 'Application',
@@ -149,6 +148,17 @@ export const useEditStreamParkSchema = (
render: ({ model }) => h(Alert, { message: model.module, type: 'info'
}),
ifShow: ({ model, values }) => values.jobType != JobTypeEnum.SQL &&
model.module,
},
+ {
+ field: 'dependency',
+ label: t('flink.app.dependency'),
+ component: 'Input',
+ slot: 'dependency',
+ ifShow: ({ values }) => {
+ return values.jobType == JobTypeEnum.SQL
+ ? true
+ : values?.appType == AppTypeEnum.APACHE_FLINK;
+ },
+ },
{ field: 'configId', label: 'configId', component: 'Input', show: false
},
{ field: 'config', label: '', component: 'Input', show: false },
{ field: 'strategy', label: '', component: 'Input', show: false },
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
index ba00e667a..851778227 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/hooks/useFlinkRender.tsx
@@ -39,7 +39,7 @@ import { handleConfTemplate } from '/@/api/flink/config';
import { decodeByBase64 } from '/@/utils/cipher';
import { useMessage } from '/@/hooks/web/useMessage';
import { SelectValue } from 'ant-design-vue/lib/select';
-import { CandidateTypeEnum, FailoverStrategyEnum } from '/@/enums/flinkEnum';
+import { AppTypeEnum, CandidateTypeEnum, FailoverStrategyEnum } from
'/@/enums/flinkEnum';
import { useI18n } from '/@/hooks/web/useI18n';
import { fetchYarnQueueList } from '/@/api/flink/setting/yarnQueue';
import { ApiSelect } from '/@/components/Form';
@@ -507,10 +507,17 @@ export const renderCompareSelectTag = (ver: any) => {
);
};
+function handleResourceFrom(model: Recordable, value: string) {
+ model.resourceFrom = value;
+ if (value == 'upload') {
+ model.appType = String(AppTypeEnum.APACHE_FLINK);
+ }
+}
+
export const renderResourceFrom = (model: Recordable) => {
return (
<Select
- onChange={(value: string) => (model.resourceFrom = value)}
+ onChange={(value: string) => handleResourceFrom(model, value)}
value={model.resourceFrom}
placeholder="Please select resource from"
>
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/app/styles/Add.less
b/streampark-console/streampark-console-webapp/src/views/flink/app/styles/Add.less
index 10e19a1e3..5159a19b8 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/app/styles/Add.less
+++
b/streampark-console/streampark-console-webapp/src/views/flink/app/styles/Add.less
@@ -28,9 +28,7 @@
}
}
-.sql-box,
.pom-box {
- height: 550px;
width: 100%;
overflow: hidden;
}
diff --git
a/streampark-flink/streampark-flink-packer/src/main/scala/org/apache/streampark/flink/packer/maven/MavenTool.scala
b/streampark-flink/streampark-flink-packer/src/main/scala/org/apache/streampark/flink/packer/maven/MavenTool.scala
index 451c75dda..d2dc899b3 100644
---
a/streampark-flink/streampark-flink-packer/src/main/scala/org/apache/streampark/flink/packer/maven/MavenTool.scala
+++
b/streampark-flink/streampark-flink-packer/src/main/scala/org/apache/streampark/flink/packer/maven/MavenTool.scala
@@ -18,26 +18,29 @@
package org.apache.streampark.flink.packer.maven
import org.apache.streampark.common.conf.{InternalConfigHolder, Workspace}
-import org.apache.streampark.common.conf.CommonConfig.{MAVEN_AUTH_PASSWORD,
MAVEN_AUTH_USER, MAVEN_REMOTE_URL}
+import org.apache.streampark.common.conf.CommonConfig.{MAVEN_AUTH_PASSWORD,
MAVEN_AUTH_USER, MAVEN_REMOTE_URL, MAVEN_SETTINGS_PATH}
import org.apache.streampark.common.util.{Logger, Utils}
import com.google.common.collect.Lists
+import org.apache.commons.lang3.StringUtils
import org.apache.maven.plugins.shade.{DefaultShader, ShadeRequest}
import org.apache.maven.plugins.shade.filter.Filter
import org.apache.maven.plugins.shade.resource.{ManifestResourceTransformer,
ResourceTransformer, ServicesResourceTransformer}
import org.apache.maven.repository.internal.MavenRepositorySystemUtils
+import org.apache.maven.settings.Settings
+import org.apache.maven.settings.building.{DefaultSettingsBuilderFactory,
DefaultSettingsBuildingRequest}
import org.codehaus.plexus.logging.{Logger => PlexusLog}
import org.codehaus.plexus.logging.console.ConsoleLogger
import org.eclipse.aether.{RepositorySystem, RepositorySystemSession}
-import org.eclipse.aether.artifact.{Artifact, DefaultArtifact}
+import org.eclipse.aether.artifact.DefaultArtifact
import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory
-import org.eclipse.aether.repository.{LocalRepository, RemoteRepository}
+import org.eclipse.aether.repository.{LocalRepository, Proxy, RemoteRepository}
import org.eclipse.aether.resolution.{ArtifactDescriptorRequest,
ArtifactRequest}
import org.eclipse.aether.spi.connector.RepositoryConnectorFactory
import org.eclipse.aether.spi.connector.transport.TransporterFactory
import org.eclipse.aether.transport.file.FileTransporterFactory
import org.eclipse.aether.transport.http.HttpTransporterFactory
-import org.eclipse.aether.util.repository.AuthenticationBuilder
+import org.eclipse.aether.util.repository.{AuthenticationBuilder,
DefaultMirrorSelector, DefaultProxySelector}
import javax.annotation.{Nonnull, Nullable}
@@ -109,8 +112,8 @@ object MavenTool extends Logger {
// resolve all jarLibs
val jarSet = new util.HashSet[File]
jarLibs.foreach {
- x =>
- new File(x) match {
+ jar =>
+ new File(jar) match {
case jarFile if jarFile.exists() =>
if (jarFile.isFile) {
Try(Utils.checkJarFile(jarFile.toURI.toURL)) match {
@@ -203,7 +206,7 @@ object MavenTool extends Logger {
return Set.empty[File]
}
- val (repoSystem, session) = getMavenEndpoint()
+ val (repoSystem, session) = getRepositoryEndpoint()
val exclusions = mavenArtifacts
.flatMap(_.extensions.map(_.split(":")))
@@ -260,7 +263,7 @@ object MavenTool extends Logger {
}
/** create composite maven endpoint */
- private[this] def getMavenEndpoint(): (RepositorySystem,
RepositorySystemSession) = {
+ private[this] def getRepositoryEndpoint(): (RepositorySystem,
RepositorySystemSession) = {
def newRepoSystem(): RepositorySystem = {
locator.addService(
@@ -275,6 +278,40 @@ object MavenTool extends Logger {
def newSession(system: RepositorySystem): RepositorySystemSession = {
val session = MavenRepositorySystemUtils.newSession
session.setLocalRepositoryManager(system.newLocalRepositoryManager(session,
localRepo))
+
+ val setting = getSettings()
+ if (setting != null) {
+ // 1) mirror
+ val mirrors = setting.getMirrors
+ if (mirrors.nonEmpty) {
+ val defaultMirror = new DefaultMirrorSelector()
+ setting.getMirrors.foreach {
+ mirror =>
+ defaultMirror.add(
+ mirror.getId,
+ mirror.getUrl,
+ "default",
+ false,
+ mirror.getMirrorOf,
+ null)
+ }
+ session.setMirrorSelector(defaultMirror)
+ }
+
+ // 2) proxy
+ val proxies = setting.getProxies
+ if (proxies.nonEmpty && proxies.exists(_.isActive)) {
+ val proxySelector = new DefaultProxySelector()
+ proxies.foreach(
+ p => {
+ if (p.isActive) {
+ val proxy = new Proxy(p.getProtocol, p.getHost, p.getPort)
+ proxySelector.add(proxy, p.getNonProxyHosts)
+ }
+ })
+ session.setProxySelector(proxySelector)
+ }
+ }
session
}
@@ -283,6 +320,22 @@ object MavenTool extends Logger {
(repoSystem, session)
}
+ private def getSettings(): Settings = {
+ val settingPath = InternalConfigHolder.get[String](MAVEN_SETTINGS_PATH)
+ if (StringUtils.isNotBlank(settingPath)) {
+ val settingFile = new File(settingPath)
+ if (settingFile.exists() && settingFile.isFile) {
+ val settingsBuilderFactory = new DefaultSettingsBuilderFactory()
+ val settingsBuilder = settingsBuilderFactory.newInstance
+ val settingRequest = new DefaultSettingsBuildingRequest()
+ settingRequest.setGlobalSettingsFile(settingFile)
+ settingRequest.setUserSettingsFile(settingFile)
+ return settingsBuilder.build(settingRequest).getEffectiveSettings
+ }
+ }
+ null
+ }
+
private class ShadedFilter extends Filter {
override def canFilter(jar: File): Boolean = true