42 lines
1.7 KiB
Bash
Executable File
42 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
# shellcheck disable=SC1091
|
||
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common.sh"
|
||
|
||
export ELDER_LOG_FILE="$RUNTIME_DIR/application.log"
|
||
mkdir -p "$REPO_DIR/.run"
|
||
|
||
python3 - "$REPO_DIR/.run/ElderYudaoLocal.run.xml" <<'PY'
|
||
import os
|
||
import sys
|
||
import xml.etree.ElementTree as ET
|
||
|
||
path = sys.argv[1]
|
||
component = ET.Element('component', {'name': 'ProjectRunConfigurationManager'})
|
||
config = ET.SubElement(component, 'configuration', {
|
||
'default': 'false',
|
||
'name': 'ElderYudao Local',
|
||
'type': 'SpringBootApplicationConfigurationType',
|
||
'factoryName': 'Spring Boot',
|
||
})
|
||
ET.SubElement(config, 'option', {'name': 'ACTIVE_PROFILES', 'value': 'local,desktop'})
|
||
ET.SubElement(config, 'module', {'name': 'yudao-server'})
|
||
ET.SubElement(config, 'option', {'name': 'SPRING_BOOT_MAIN_CLASS', 'value': 'cn.iocoder.yudao.server.YudaoServerApplication'})
|
||
ET.SubElement(config, 'option', {'name': 'WORKING_DIRECTORY', 'value': '$PROJECT_DIR$'})
|
||
ET.SubElement(config, 'option', {'name': 'VM_PARAMETERS', 'value': '-Dfile.encoding=UTF-8'})
|
||
envs = ET.SubElement(config, 'envs')
|
||
keys = ('ELDER_DB_HOST', 'ELDER_DB_PORT', 'ELDER_DB_NAME', 'ELDER_DB_USER',
|
||
'ELDER_DB_PASSWORD', 'ELDER_REDIS_HOST', 'ELDER_REDIS_PORT',
|
||
'ELDER_REDIS_DATABASE', 'ELDER_REDIS_PASSWORD', 'ELDER_SERVER_PORT',
|
||
'ELDER_LOG_FILE')
|
||
for key in keys:
|
||
ET.SubElement(envs, 'env', {'name': key, 'value': os.environ.get(key, '')})
|
||
ET.SubElement(config, 'method', {'v': '2'})
|
||
tree = ET.ElementTree(component)
|
||
ET.indent(tree, space=' ')
|
||
tree.write(path, encoding='utf-8', xml_declaration=True)
|
||
PY
|
||
|
||
echo "已生成 IDEA 配置:$REPO_DIR/.run/ElderYudaoLocal.run.xml"
|
||
echo '在 IDEA 选择 ElderYudao Local,确认使用 local,desktop 后启动。'
|