This is an automated email from the ASF dual-hosted git repository.
yiconghuang pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/texera.git
The following commit(s) were added to refs/heads/main by this push:
new 984d631a03 chore: rename `core/scripts` to `bin` (#3877)
984d631a03 is described below
commit 984d631a03127cc7570ea0791549039de1143db7
Author: Yicong Huang <[email protected]>
AuthorDate: Sun Oct 12 11:29:05 2025 -0700
chore: rename `core/scripts` to `bin` (#3877)
According to the reorganization plan #3846. This PR moves `core/scripts`
out to root, and rename it to `bin`. This folder will contain all
executable scripts and binaries.
resolves #3862
---------
Signed-off-by: Yicong Huang <[email protected]>
---
.github/labeler.yml | 3 +-
.github/workflows/github-action-build.yml | 10 +--
Dockerfile | 4 +-
{core/scripts => bin}/.htaccess | 0
{core/scripts => bin}/add-computing-unit-worker.sh | 16 +++--
{core/scripts => bin}/build-services.sh | 0
.../shared-editing-server.sh => bin/build.sh | 3 +-
.../computing-unit-managing-service.sh | 0
{core/scripts => bin}/config-service.sh | 0
{core/scripts => bin}/config.php | 0
.../scripts => bin}/cron-restart-crashed-worker.sh | 4 +-
{core/scripts => bin}/deploy-daemon.sh | 18 ++---
{core/scripts => bin}/deploy-docker.sh | 6 +-
{core/scripts => bin}/file-service.sh | 0
{core/scripts => bin}/forum/flarum.sql | 0
{core/scripts => bin}/forum/macos-install.sh | 6 +-
{core/scripts => bin}/forum/start-flarum.sh | 0
{core/scripts => bin}/forum/ubuntu-install.sh | 6 +-
core/scripts/gui-dev.sh => bin/frontend-dev.sh | 2 +-
.../gui-proto-gen.sh => bin/frontend-proto-gen.sh | 6 +-
core/scripts/build.sh => bin/frontend.sh | 3 +-
{core/scripts => bin}/install-nltk.sh | 0
bin/python-language-service.sh | 84 ++++++++++++++++++++++
{core/scripts => bin}/python-proto-gen.sh | 6 +-
{core/scripts => bin}/server.sh | 3 +-
{core/scripts => bin}/shared-editing-server.sh | 2 +-
.../sql/iceberg_postgres_catalog.sql | 0
{core/scripts => bin}/sql/misc/tweets.sql | 0
{core/scripts => bin}/sql/texera_ddl.sql | 0
{core/scripts => bin}/sql/texera_lakefs.sql | 0
{core/scripts => bin}/sql/updates/01.sql | 0
{core/scripts => bin}/sql/updates/02.sql | 0
{core/scripts => bin}/sql/updates/03.sql | 0
{core/scripts => bin}/sql/updates/04.sql | 0
{core/scripts => bin}/sql/updates/05.sql | 0
{core/scripts => bin}/sql/updates/06.sql | 0
{core/scripts => bin}/sql/updates/07.sql | 0
{core/scripts => bin}/sql/updates/08.sql | 0
{core/scripts => bin}/sql/updates/09.sql | 0
{core/scripts => bin}/sql/updates/10.sql | 0
{core/scripts => bin}/sql/updates/11.sql | 0
{core/scripts => bin}/sql/updates/12.sql | 0
{core/scripts => bin}/sql/updates/13.sql | 0
{core/scripts => bin}/sql/updates/14.sql | 0
{core/scripts => bin}/sql/updates/15.sql | 0
{core/scripts => bin}/terminate-daemon.sh | 0
.../scripts => bin}/workflow-compiling-service.sh | 0
{core/scripts => bin}/workflow-computing-unit.sh | 16 +++--
.../texera/web/resource/UserConfigResource.scala | 2 +-
.../resource/dashboard/UnifiedResourceSchema.scala | 2 +-
.../dashboard/user/project/ProjectResource.scala | 2 +-
.../dashboard/user/workflow/WorkflowResource.scala | 2 +-
.../user/workflow/WorkflowVersionResource.scala | 2 +-
.../scala/org/apache/texera/dao/MockTexeraDB.scala | 2 +-
core/scripts/gui.sh | 18 -----
deployment/single-node/docker-compose.yml | 2 +-
.../app/dashboard/type/dashboard-file.interface.ts | 2 +-
57 files changed, 152 insertions(+), 80 deletions(-)
diff --git a/.github/labeler.yml b/.github/labeler.yml
index f6447656e4..2d14f53154 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -26,7 +26,6 @@ backend:
- 'core/**'
- all-globs-to-all-files:
- '!core/log/**'
- - '!core/scripts/**'
service:
- changed-files:
- any-glob-to-any-file:
@@ -59,7 +58,7 @@ ci:
build:
- changed-files:
- any-glob-to-any-file:
- - 'core/scripts/**'
+ - 'bin/**'
- 'deployment/**'
dependencies:
diff --git a/.github/workflows/github-action-build.yml
b/.github/workflows/github-action-build.yml
index d838b94d28..febe39e5b9 100644
--- a/.github/workflows/github-action-build.yml
+++ b/.github/workflows/github-action-build.yml
@@ -110,13 +110,13 @@ jobs:
run: sbt scalafmtCheckAll
- name: Create Databases
run: |
- psql -h localhost -U postgres -f core/scripts/sql/texera_ddl.sql
- psql -h localhost -U postgres -f
core/scripts/sql/iceberg_postgres_catalog.sql
- psql -h localhost -U postgres -f core/scripts/sql/texera_lakefs.sql
+ psql -h localhost -U postgres -f bin/sql/texera_ddl.sql
+ psql -h localhost -U postgres -f bin/sql/iceberg_postgres_catalog.sql
+ psql -h localhost -U postgres -f bin/sql/texera_lakefs.sql
env:
PGPASSWORD: postgres
- name: Create texera_db_for_test_cases
- run: psql -h localhost -U postgres -v DB_NAME=texera_db_for_test_cases
-f core/scripts/sql/texera_ddl.sql
+ run: psql -h localhost -U postgres -v DB_NAME=texera_db_for_test_cases
-f bin/sql/texera_ddl.sql
env:
PGPASSWORD: postgres
- name: Compile with sbt
@@ -148,7 +148,7 @@ jobs:
run: sudo systemctl start postgresql
- name: Create Database and User
run: |
- cd core/scripts/sql && sudo -u postgres psql -f
iceberg_postgres_catalog.sql
+ cd bin/sql && sudo -u postgres psql -f iceberg_postgres_catalog.sql
- name: Lint with flake8 and black
run: |
cd core/amber/src/main/python && flake8 && black . --check
diff --git a/Dockerfile b/Dockerfile
index 0c6aef6748..61dc304946 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -49,9 +49,9 @@ WORKDIR /core
COPY .git ../.git
COPY --from=nodegui /gui/dist ./gui/dist
-RUN scripts/build-services.sh
+RUN ../bin/build-services.sh
-CMD ["scripts/deploy-docker.sh"]
+CMD ["../bin/deploy-docker.sh"]
EXPOSE 8080
diff --git a/core/scripts/.htaccess b/bin/.htaccess
similarity index 100%
rename from core/scripts/.htaccess
rename to bin/.htaccess
diff --git a/core/scripts/add-computing-unit-worker.sh
b/bin/add-computing-unit-worker.sh
similarity index 79%
rename from core/scripts/add-computing-unit-worker.sh
rename to bin/add-computing-unit-worker.sh
index 10c7265383..8519c4e650 100755
--- a/core/scripts/add-computing-unit-worker.sh
+++ b/bin/add-computing-unit-worker.sh
@@ -15,10 +15,14 @@
# specific language governing permissions and limitations
# under the License.
-cd amber
-if [ ! -z $1 ]
-then
- target/texera-0.1-SNAPSHOT/bin/computing-unit-worker --serverAddr $1
-else
+(
+ cd amber || { echo "Error: amber directory not found"; exit 1; }
+
+ if [ -n "$1" ]; then
+ echo "Starting worker with server address: $1"
+ target/texera-0.1-SNAPSHOT/bin/computing-unit-worker --serverAddr "$1"
+ else
+ echo "Starting worker without explicit server address"
target/texera-0.1-SNAPSHOT/bin/computing-unit-worker
-fi
+ fi
+)
\ No newline at end of file
diff --git a/core/scripts/build-services.sh b/bin/build-services.sh
similarity index 100%
rename from core/scripts/build-services.sh
rename to bin/build-services.sh
diff --git a/core/scripts/shared-editing-server.sh b/bin/build.sh
old mode 100644
new mode 100755
similarity index 95%
copy from core/scripts/shared-editing-server.sh
copy to bin/build.sh
index ff2becf0b9..ebb3f708aa
--- a/core/scripts/shared-editing-server.sh
+++ b/bin/build.sh
@@ -15,4 +15,5 @@
# specific language governing permissions and limitations
# under the License.
-(cd ../frontend && npx y-websocket)
+bin/build-services.sh
+bin/frontend.sh
\ No newline at end of file
diff --git a/core/scripts/computing-unit-managing-service.sh
b/bin/computing-unit-managing-service.sh
similarity index 100%
rename from core/scripts/computing-unit-managing-service.sh
rename to bin/computing-unit-managing-service.sh
diff --git a/core/scripts/config-service.sh b/bin/config-service.sh
similarity index 100%
rename from core/scripts/config-service.sh
rename to bin/config-service.sh
diff --git a/core/scripts/config.php b/bin/config.php
similarity index 100%
rename from core/scripts/config.php
rename to bin/config.php
diff --git a/core/scripts/cron-restart-crashed-worker.sh
b/bin/cron-restart-crashed-worker.sh
similarity index 94%
rename from core/scripts/cron-restart-crashed-worker.sh
rename to bin/cron-restart-crashed-worker.sh
index 7b1f0cda15..918a8555e5 100755
--- a/core/scripts/cron-restart-crashed-worker.sh
+++ b/bin/cron-restart-crashed-worker.sh
@@ -25,9 +25,7 @@ if jps -m | grep -q "TexeraWebApplication"; then
echo "TexeraRunWorker is missing. Restarting..."
# Restart TexeraRunWorker
- cd "$(dirname "$0")"
- cd ../
- ./scripts/worker.sh >/dev/null
+ bin/worker.sh >/dev/null
echo "TexeraRunWorker restarted."
else
diff --git a/core/scripts/deploy-daemon.sh b/bin/deploy-daemon.sh
similarity index 84%
rename from core/scripts/deploy-daemon.sh
rename to bin/deploy-daemon.sh
index a23afb974e..920d74b37b 100755
--- a/core/scripts/deploy-daemon.sh
+++ b/bin/deploy-daemon.sh
@@ -31,17 +31,17 @@ done
if ! $skipCompilation
then
echo "${green}Compiling Services...${reset}"
- bash scripts/build-services.sh
+ bash bin/build-services.sh
echo "${green}Services compiled.${reset}"
echo "${green}Compiling GUI...${reset}"
- (cd ../frontend && yarn install && ng build --configuration production
--deploy-url=/ --base-href=/)
+ (cd frontend && yarn install && ng build --configuration production
--deploy-url=/ --base-href=/)
echo "${green}GUI compiled.${reset}"
echo
fi
echo "${green}Starting TexeraWebApplication in daemon...${reset}"
-setsid nohup ./scripts/server.sh >/dev/null 2>&1 &
+setsid nohup bin/server.sh >/dev/null 2>&1 &
echo "${green}Waiting TexeraWebApplication to launch on 8080...${reset}"
while ! nc -z localhost 8080; do
sleep 0.1 # wait 100ms before check again
@@ -50,7 +50,7 @@ echo "${green}TexeraWebApplication launched at $(pgrep -f
TexeraWebApplication)$
echo
echo "${green}Starting WorkflowCompilingService in daemon...${reset}"
-setsid nohup ./scripts/workflow-compiling-service.sh >/dev/null 2>&1 &
+setsid nohup bin/workflow-compiling-service.sh >/dev/null 2>&1 &
echo "${green}Waiting TexeraWorkflowCompilingService to launch on
9090...${reset}"
while ! nc -z localhost 9090; do
sleep 0.1 # wait 100ms before check again
@@ -59,7 +59,7 @@ echo "${green}WorkflowCompilingService launched at $(pgrep -f
TexeraWorkflowComp
echo
echo "${green}Starting FileService in daemon...${reset}"
-setsid nohup ./scripts/file-service.sh >/dev/null 2>&1 &
+setsid nohup bin/file-service.sh >/dev/null 2>&1 &
echo "${green}Waiting FileService to launch on 9092...${reset}"
while ! nc -z localhost 9092; do
sleep 0.1 # wait 100ms before check again
@@ -68,7 +68,7 @@ echo "${green}FileService launched at $(pgrep -f
FileService)${reset}"
echo
echo "${green}Starting ConfigService in daemon...${reset}"
-setsid nohup ./scripts/config-service.sh >/dev/null 2>&1 &
+setsid nohup bin/config-service.sh >/dev/null 2>&1 &
echo "${green}Waiting ConfigService to launch on 9094...${reset}"
while ! nc -z localhost 9094; do
sleep 0.1 # wait 100ms before check again
@@ -77,7 +77,7 @@ echo "${green}ConfigService launched at $(pgrep -f
ConfigService)${reset}"
echo
echo "${green}Starting ComputingUnitManagingService in daemon...${reset}"
-setsid nohup ./scripts/computing-unit-managing-service.sh >/dev/null 2>&1 &
+setsid nohup bin/computing-unit-managing-service.sh >/dev/null 2>&1 &
echo "${green}Waiting ComputingUnitManagingService to launch on
8888...${reset}"
while ! nc -z localhost 8888; do
sleep 0.1 # wait 100ms before check again
@@ -86,7 +86,7 @@ echo "${green}ComputingUnitManagingService launched at
$(pgrep -f ComputingUnitM
echo
echo "${green}Starting WorkflowComputingUnit in daemon...${reset}"
-setsid nohup ./scripts/workflow-computing-unit.sh >/dev/null 2>&1 &
+setsid nohup bin/workflow-computing-unit.sh >/dev/null 2>&1 &
echo "${green}Waiting WorkflowComputingUnit to launch on 8085...${reset}"
while ! nc -z localhost 8085; do
sleep 0.1 # wait 100ms before check again
@@ -95,6 +95,6 @@ echo "${green}WorkflowComputingUnit launched at $(pgrep -f
WorkflowComputingUnit
echo
echo "${green}Starting shared editing server...${reset}"
-setsid nohup ./scripts/shared-editing-server.sh >/dev/null 2>&1 &
+setsid nohup bin/shared-editing-server.sh >/dev/null 2>&1 &
sleep 2
echo "${green}Shared Editing Server launched at $(pgrep -f
y-websocket)${reset}"
diff --git a/core/scripts/deploy-docker.sh b/bin/deploy-docker.sh
similarity index 93%
rename from core/scripts/deploy-docker.sh
rename to bin/deploy-docker.sh
index f61b79ed06..29dd88f4ff 100755
--- a/core/scripts/deploy-docker.sh
+++ b/bin/deploy-docker.sh
@@ -18,7 +18,7 @@
# Start server.sh in the background
-bash scripts/server.sh &
+bash bin/server.sh &
# Wait for server.sh to start by sleeping for a brief period (adjust as needed)
sleep 5
@@ -30,7 +30,7 @@ if ! ps -p $! > /dev/null; then
fi
# Start workflow-compiling-service.sh in the background
-bash scripts/workflow-compiling-service.sh &
+bash bin/workflow-compiling-service.sh &
# Wait for workflow-compiling-service.sh to start by sleeping for a brief
period (adjust as needed)
sleep 5
@@ -42,7 +42,7 @@ if ! ps -p $! > /dev/null; then
fi
# Start computing unit master node in the background
-bash scripts/workflow-computing-unit.sh &
+bash bin/workflow-computing-unit.sh &
# Wait for one of server.sh and computing unit master node to complete
wait -n
diff --git a/core/scripts/file-service.sh b/bin/file-service.sh
similarity index 100%
rename from core/scripts/file-service.sh
rename to bin/file-service.sh
diff --git a/core/scripts/forum/flarum.sql b/bin/forum/flarum.sql
similarity index 100%
rename from core/scripts/forum/flarum.sql
rename to bin/forum/flarum.sql
diff --git a/core/scripts/forum/macos-install.sh b/bin/forum/macos-install.sh
similarity index 99%
rename from core/scripts/forum/macos-install.sh
rename to bin/forum/macos-install.sh
index 451831f478..f38b0b972d 100755
--- a/core/scripts/forum/macos-install.sh
+++ b/bin/forum/macos-install.sh
@@ -82,8 +82,12 @@ echo "Restarting Apache..."
sudo apachectl restart
# Publish assets
+(
+
cd /opt/homebrew/var/www/flarum
echo "Configuring flarum..."
php flarum assets:publish
sudo chown -R _www:_www /opt/homebrew/var/www/flarum
-echo "Flarum installation completed\nYou can now access your flarum forum in
Texera"
\ No newline at end of file
+echo "Flarum installation completed\nYou can now access your flarum forum in
Texera"
+
+)
\ No newline at end of file
diff --git a/core/scripts/forum/start-flarum.sh b/bin/forum/start-flarum.sh
similarity index 100%
rename from core/scripts/forum/start-flarum.sh
rename to bin/forum/start-flarum.sh
diff --git a/core/scripts/forum/ubuntu-install.sh b/bin/forum/ubuntu-install.sh
similarity index 92%
rename from core/scripts/forum/ubuntu-install.sh
rename to bin/forum/ubuntu-install.sh
index ca63344b32..4e3183d797 100755
--- a/core/scripts/forum/ubuntu-install.sh
+++ b/bin/forum/ubuntu-install.sh
@@ -31,10 +31,10 @@ php -r "unlink('composer-setup.php');"
composer create-project flarum/flarum /opt/flarum
composer require --working-dir=/opt/flarum
michaelbelgium/flarum-discussion-views
composer require --working-dir=/opt/flarum fof/byobu:"*"
-sudo cp ./scripts/config.php /opt/flarum/config.php
-sudo cp ./scripts/.htaccess /opt/flarum/public/.htaccess
+sudo cp bin/config.php /opt/flarum/config.php
+sudo cp bin/.htaccess /opt/flarum/public/.htaccess
sudo chown -R www-data:www-data /opt/flarum
-sudo mysql -u root -p < ./scripts/sql/flarum.sql
+sudo mysql -u root -p < bin/sql/flarum.sql
VHOST_CONF="/etc/apache2/sites-available/flarum.conf"
sudo touch VHOST_CONF
diff --git a/core/scripts/gui-dev.sh b/bin/frontend-dev.sh
similarity index 96%
rename from core/scripts/gui-dev.sh
rename to bin/frontend-dev.sh
index 858478642b..288839aeea 100644
--- a/core/scripts/gui-dev.sh
+++ b/bin/frontend-dev.sh
@@ -16,4 +16,4 @@
# limitations under the License.
#
-(cd ../frontend && ng serve)
\ No newline at end of file
+(cd frontend && ng serve)
\ No newline at end of file
diff --git a/core/scripts/gui-proto-gen.sh b/bin/frontend-proto-gen.sh
similarity index 86%
rename from core/scripts/gui-proto-gen.sh
rename to bin/frontend-proto-gen.sh
index 09bdb1f536..4510657843 100755
--- a/core/scripts/gui-proto-gen.sh
+++ b/bin/frontend-proto-gen.sh
@@ -15,9 +15,9 @@
# specific language governing permissions and limitations
# under the License.
-TEXERA_ROOT="$(git rev-parse --show-toplevel)"
-GUI_DIR="$TEXERA_ROOT/frontend"
-PROTOBUF_DIR="$TEXERA_ROOT/core/workflow-core/src/main/protobuf"
+TEXERA_HOME="$(git rev-parse --show-toplevel)"
+GUI_DIR="$TEXERA_HOME/frontend"
+PROTOBUF_DIR="$TEXERA_HOME/core/workflow-core/src/main/protobuf"
GUI_PROTO_DIR="$GUI_DIR/src/app/common/type"
WORKFLOW_PROTO=$(find "$PROTOBUF_DIR" -iname "workflow.proto")
diff --git a/core/scripts/build.sh b/bin/frontend.sh
similarity index 94%
rename from core/scripts/build.sh
rename to bin/frontend.sh
index 1bc794980f..65b15e19e8 100755
--- a/core/scripts/build.sh
+++ b/bin/frontend.sh
@@ -15,5 +15,4 @@
# specific language governing permissions and limitations
# under the License.
-./scripts/build-services.sh
-./scripts/gui.sh
\ No newline at end of file
+(cd frontend && yarn install && yarn run build)
diff --git a/core/scripts/install-nltk.sh b/bin/install-nltk.sh
similarity index 100%
rename from core/scripts/install-nltk.sh
rename to bin/install-nltk.sh
diff --git a/bin/python-language-service.sh b/bin/python-language-service.sh
new file mode 100755
index 0000000000..253af37402
--- /dev/null
+++ b/bin/python-language-service.sh
@@ -0,0 +1,84 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+set -e
+
+DEFAULT_PROVIDER="pylsp"
+DEFAULT_PORT=3000
+
+PROVIDER=""
+PORT=""
+
+BASE_DIR=$(dirname "$0")
+PYRIGHT_DIR="$BASE_DIR/../pyright-language-service"
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --server=*|--provider=*)
+ PROVIDER="${1#*=}"
+ ;;
+ --port=*)
+ PORT="${1#*=}"
+ ;;
+ *)
+ echo "Unknown argument: $1"
+ echo "Usage: $0 [--server=<pyright|pylsp>] [--port=<port_number>]"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+PROVIDER="${PROVIDER:-$DEFAULT_PROVIDER}"
+PORT="${PORT:-$DEFAULT_PORT}"
+
+# Validate port value
+if ! [[ "$PORT" =~ ^[0-9]+$ ]]; then
+ echo "Invalid port: $PORT. Must be a number."
+ exit 1
+fi
+
+start_pyright() {
+ echo "Starting Pyright Language Server on port $PORT..."
+ cd "$PYRIGHT_DIR"
+ yarn install --silent
+ yarn start --port="$PORT"
+}
+
+start_pylsp() {
+ echo "Starting Pylsp Language Server on port $PORT..."
+ if ! command -v pylsp &>/dev/null; then
+ echo "Error: pylsp is not installed. Install it with 'pip install
python-lsp-server'."
+ exit 1
+ fi
+ pylsp --port "$PORT" --ws
+}
+
+case $PROVIDER in
+ pyright)
+ start_pyright
+ ;;
+ pylsp)
+ start_pylsp
+ ;;
+ *)
+ echo "Invalid provider: $PROVIDER. Valid options are: pyright, pylsp."
+ exit 1
+ ;;
+esac
diff --git a/core/scripts/python-proto-gen.sh b/bin/python-proto-gen.sh
similarity index 90%
rename from core/scripts/python-proto-gen.sh
rename to bin/python-proto-gen.sh
index a07eefc05f..f6b8471495 100755
--- a/core/scripts/python-proto-gen.sh
+++ b/bin/python-proto-gen.sh
@@ -18,12 +18,12 @@
# assuming inside the pytexera executing Python ENV
# dirs
-TEXERA_ROOT="$(git rev-parse --show-toplevel)"
-AMBER_DIR="$TEXERA_ROOT/core/amber"
+TEXERA_HOME="$(git rev-parse --show-toplevel)"
+AMBER_DIR="$TEXERA_HOME/core/amber"
PYAMBER_DIR="$AMBER_DIR/src/main/python"
PROTOBUF_AMBER_DIR="$AMBER_DIR/src/main/protobuf"
-CORE_DIR="$TEXERA_ROOT/core/workflow-core"
+CORE_DIR="$TEXERA_HOME/core/workflow-core"
PROTOBUF_CORE_DIR="$CORE_DIR/src/main/protobuf"
# proto-gen
diff --git a/core/scripts/server.sh b/bin/server.sh
similarity index 93%
rename from core/scripts/server.sh
rename to bin/server.sh
index 36818b1478..0320c7ea55 100755
--- a/core/scripts/server.sh
+++ b/bin/server.sh
@@ -15,5 +15,4 @@
# specific language governing permissions and limitations
# under the License.
-cd amber
-target/texera-*/bin/texera-web-application
\ No newline at end of file
+(cd amber && target/texera-*/bin/texera-web-application)
\ No newline at end of file
diff --git a/core/scripts/shared-editing-server.sh
b/bin/shared-editing-server.sh
similarity index 95%
rename from core/scripts/shared-editing-server.sh
rename to bin/shared-editing-server.sh
index ff2becf0b9..ad9f8b4477 100644
--- a/core/scripts/shared-editing-server.sh
+++ b/bin/shared-editing-server.sh
@@ -15,4 +15,4 @@
# specific language governing permissions and limitations
# under the License.
-(cd ../frontend && npx y-websocket)
+(cd frontend && npx y-websocket)
diff --git a/core/scripts/sql/iceberg_postgres_catalog.sql
b/bin/sql/iceberg_postgres_catalog.sql
similarity index 100%
rename from core/scripts/sql/iceberg_postgres_catalog.sql
rename to bin/sql/iceberg_postgres_catalog.sql
diff --git a/core/scripts/sql/misc/tweets.sql b/bin/sql/misc/tweets.sql
similarity index 100%
rename from core/scripts/sql/misc/tweets.sql
rename to bin/sql/misc/tweets.sql
diff --git a/core/scripts/sql/texera_ddl.sql b/bin/sql/texera_ddl.sql
similarity index 100%
rename from core/scripts/sql/texera_ddl.sql
rename to bin/sql/texera_ddl.sql
diff --git a/core/scripts/sql/texera_lakefs.sql b/bin/sql/texera_lakefs.sql
similarity index 100%
rename from core/scripts/sql/texera_lakefs.sql
rename to bin/sql/texera_lakefs.sql
diff --git a/core/scripts/sql/updates/01.sql b/bin/sql/updates/01.sql
similarity index 100%
rename from core/scripts/sql/updates/01.sql
rename to bin/sql/updates/01.sql
diff --git a/core/scripts/sql/updates/02.sql b/bin/sql/updates/02.sql
similarity index 100%
rename from core/scripts/sql/updates/02.sql
rename to bin/sql/updates/02.sql
diff --git a/core/scripts/sql/updates/03.sql b/bin/sql/updates/03.sql
similarity index 100%
rename from core/scripts/sql/updates/03.sql
rename to bin/sql/updates/03.sql
diff --git a/core/scripts/sql/updates/04.sql b/bin/sql/updates/04.sql
similarity index 100%
rename from core/scripts/sql/updates/04.sql
rename to bin/sql/updates/04.sql
diff --git a/core/scripts/sql/updates/05.sql b/bin/sql/updates/05.sql
similarity index 100%
rename from core/scripts/sql/updates/05.sql
rename to bin/sql/updates/05.sql
diff --git a/core/scripts/sql/updates/06.sql b/bin/sql/updates/06.sql
similarity index 100%
rename from core/scripts/sql/updates/06.sql
rename to bin/sql/updates/06.sql
diff --git a/core/scripts/sql/updates/07.sql b/bin/sql/updates/07.sql
similarity index 100%
rename from core/scripts/sql/updates/07.sql
rename to bin/sql/updates/07.sql
diff --git a/core/scripts/sql/updates/08.sql b/bin/sql/updates/08.sql
similarity index 100%
rename from core/scripts/sql/updates/08.sql
rename to bin/sql/updates/08.sql
diff --git a/core/scripts/sql/updates/09.sql b/bin/sql/updates/09.sql
similarity index 100%
rename from core/scripts/sql/updates/09.sql
rename to bin/sql/updates/09.sql
diff --git a/core/scripts/sql/updates/10.sql b/bin/sql/updates/10.sql
similarity index 100%
rename from core/scripts/sql/updates/10.sql
rename to bin/sql/updates/10.sql
diff --git a/core/scripts/sql/updates/11.sql b/bin/sql/updates/11.sql
similarity index 100%
rename from core/scripts/sql/updates/11.sql
rename to bin/sql/updates/11.sql
diff --git a/core/scripts/sql/updates/12.sql b/bin/sql/updates/12.sql
similarity index 100%
rename from core/scripts/sql/updates/12.sql
rename to bin/sql/updates/12.sql
diff --git a/core/scripts/sql/updates/13.sql b/bin/sql/updates/13.sql
similarity index 100%
rename from core/scripts/sql/updates/13.sql
rename to bin/sql/updates/13.sql
diff --git a/core/scripts/sql/updates/14.sql b/bin/sql/updates/14.sql
similarity index 100%
rename from core/scripts/sql/updates/14.sql
rename to bin/sql/updates/14.sql
diff --git a/core/scripts/sql/updates/15.sql b/bin/sql/updates/15.sql
similarity index 100%
rename from core/scripts/sql/updates/15.sql
rename to bin/sql/updates/15.sql
diff --git a/core/scripts/terminate-daemon.sh b/bin/terminate-daemon.sh
similarity index 100%
rename from core/scripts/terminate-daemon.sh
rename to bin/terminate-daemon.sh
diff --git a/core/scripts/workflow-compiling-service.sh
b/bin/workflow-compiling-service.sh
similarity index 100%
rename from core/scripts/workflow-compiling-service.sh
rename to bin/workflow-compiling-service.sh
diff --git a/core/scripts/workflow-computing-unit.sh
b/bin/workflow-computing-unit.sh
similarity index 82%
rename from core/scripts/workflow-computing-unit.sh
rename to bin/workflow-computing-unit.sh
index e0e8d12672..2fade50b9b 100755
--- a/core/scripts/workflow-computing-unit.sh
+++ b/bin/workflow-computing-unit.sh
@@ -15,10 +15,12 @@
# specific language governing permissions and limitations
# under the License.
-cd amber
-if [ ! -z $1 ]
-then
- target/texera-*/bin/computing-unit-master --cluster $1
-else
- target/texera-*/bin/computing-unit-master
-fi
\ No newline at end of file
+(
+ cd amber &&
+ if [ ! -z $1 ]
+ then
+ target/texera-*/bin/computing-unit-master --cluster $1
+ else
+ target/texera-*/bin/computing-unit-master
+ fi
+)
\ No newline at end of file
diff --git
a/core/amber/src/main/scala/org/apache/texera/web/resource/UserConfigResource.scala
b/core/amber/src/main/scala/org/apache/texera/web/resource/UserConfigResource.scala
index 6eba80f4af..609c6a2cf1 100644
---
a/core/amber/src/main/scala/org/apache/texera/web/resource/UserConfigResource.scala
+++
b/core/amber/src/main/scala/org/apache/texera/web/resource/UserConfigResource.scala
@@ -35,7 +35,7 @@ import scala.jdk.CollectionConverters.CollectionHasAsScala
* This class handles requests to read and write the user dictionary,
* an abstract collection of (key, value) string pairs that is unique for
each user
* This is accomplished using a mysql table called user_dictionary.
- * The details of user_dictionary can be found in
/core/scripts/sql/texera_ddl.sql
+ * The details of user_dictionary can be found in /bin/sql/texera_ddl.sql
*/
@Path("/user/config")
@RolesAllowed(Array("REGULAR", "ADMIN"))
diff --git
a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/UnifiedResourceSchema.scala
b/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/UnifiedResourceSchema.scala
index 12d073c653..4162375b26 100644
---
a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/UnifiedResourceSchema.scala
+++
b/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/UnifiedResourceSchema.scala
@@ -102,7 +102,7 @@ object UnifiedResourceSchema {
}
/**
- * Refer to texera/core/scripts/sql/texera_ddl.sql to understand what each
attribute is
+ * Refer to texera/bin/sql/texera_ddl.sql to understand what each attribute is
*
* Attributes common across all resource types:
* - `resourceType`: The type of the resource (e.g., project, workflow, file)
as a `String`.
diff --git
a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectResource.scala
b/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectResource.scala
index 3b0561f2e5..9129bcbec1 100644
---
a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectResource.scala
+++
b/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/project/ProjectResource.scala
@@ -48,7 +48,7 @@ import scala.jdk.CollectionConverters.IterableHasAsScala
* This file handles various request related to projects.
* It sends mysql queries to the MysqlDB regarding the 'user_project',
* 'workflow_of_project', and 'file_of_project' Tables
- * The details of these tables can be found in
/core/scripts/sql/texera_ddl.sql
+ * The details of these tables can be found in /bin/sql/texera_ddl.sql
*/
object ProjectResource {
diff --git
a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowResource.scala
b/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowResource.scala
index 1cc2c3c8e8..64234f4892 100644
---
a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowResource.scala
+++
b/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowResource.scala
@@ -57,7 +57,7 @@ import scala.util.control.NonFatal
/**
* This file handles various request related to saved-workflows.
* It sends mysql queries to the MysqlDB regarding the UserWorkflow Table
- * The details of UserWorkflowTable can be found in
/core/scripts/sql/texera_ddl.sql
+ * The details of UserWorkflowTable can be found in /bin/sql/texera_ddl.sql
*/
object WorkflowResource {
diff --git
a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResource.scala
b/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResource.scala
index 453e793ae7..cdf9656f1d 100644
---
a/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResource.scala
+++
b/core/amber/src/main/scala/org/apache/texera/web/resource/dashboard/user/workflow/WorkflowVersionResource.scala
@@ -43,7 +43,7 @@ import scala.jdk.CollectionConverters.IterableHasAsScala
/**
* This file handles various request related to workflows versions.
- * The details of the mysql tables can be found in
/core/scripts/sql/texera_ddl.sql
+ * The details of the mysql tables can be found in /bin/sql/texera_ddl.sql
*/
object WorkflowVersionResource {
diff --git a/core/dao/src/test/scala/org/apache/texera/dao/MockTexeraDB.scala
b/core/dao/src/test/scala/org/apache/texera/dao/MockTexeraDB.scala
index 8f13eebbe2..4c3464ade7 100644
--- a/core/dao/src/test/scala/org/apache/texera/dao/MockTexeraDB.scala
+++ b/core/dao/src/test/scala/org/apache/texera/dao/MockTexeraDB.scala
@@ -84,7 +84,7 @@ trait MockTexeraDB {
dbInstance = Some(embedded)
val ddlPath = {
- Paths.get("core/scripts/sql/texera_ddl.sql").toRealPath()
+ Paths.get("bin/sql/texera_ddl.sql").toRealPath()
}
val source = Source.fromFile(ddlPath.toString)
val content =
diff --git a/core/scripts/gui.sh b/core/scripts/gui.sh
deleted file mode 100755
index 25b074aeca..0000000000
--- a/core/scripts/gui.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-(cd ../frontend && yarn install && yarn run build)
diff --git a/deployment/single-node/docker-compose.yml
b/deployment/single-node/docker-compose.yml
index bd2394a882..cb6f16bf21 100644
--- a/deployment/single-node/docker-compose.yml
+++ b/deployment/single-node/docker-compose.yml
@@ -46,7 +46,7 @@ services:
volumes:
- postgres_data:/var/lib/postgresql/data
# mount the sql files for initializing the postgres
- - ../../core/scripts/sql:/docker-entrypoint-initdb.d
+ - ../../bin/sql:/docker-entrypoint-initdb.d
# lakeFS is the underlying storage of Texera's dataset service
lakefs:
diff --git a/frontend/src/app/dashboard/type/dashboard-file.interface.ts
b/frontend/src/app/dashboard/type/dashboard-file.interface.ts
index 3582d0bd6d..233c9a8c1a 100644
--- a/frontend/src/app/dashboard/type/dashboard-file.interface.ts
+++ b/frontend/src/app/dashboard/type/dashboard-file.interface.ts
@@ -28,7 +28,7 @@ export interface DashboardFile
* This interface stores the information about the users' files.
* These information is used to locate the file for the operators.
* Corresponds to
`src/main/scala/org/apache/texera/web/resource/dashboard/file/UserFileResource.scala`
(backend);
- * and `core/scripts/sql/texera_ddl.sql`, table `file` (database).
+ * and `bin/sql/texera_ddl.sql`, table `file` (database).
*/
export interface UserFile {
ownerUid: number;