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;

Reply via email to