Refactor file structure

Former-commit-id: 3eecf504cf
This commit is contained in:
Leroy Hopson 2020-09-17 16:23:01 +07:00
parent a022104230
commit ee6d7cb0fa
33 changed files with 89 additions and 50 deletions

8
.gitmodules vendored
View file

@ -1,6 +1,8 @@
[submodule "addons/godot_xterm/godot-cpp"] [submodule "addons/godot_xterm/godot-cpp"]
path = addons/godot_xterm/godot-cpp path = addons/godot_xterm/native/modules/godot-cpp
url = https://github.com/lihop/godot-cpp url = https://github.com/godotengine/godot-cpp
[submodule "addons/godot_xterm/libtsm"] [submodule "addons/godot_xterm/libtsm"]
path = addons/godot_xterm/libtsm path = addons/godot_xterm/native/modules/libtsm
url = https://github.com/Aetf/libtsm url = https://github.com/Aetf/libtsm
[submodule "godot-cpp/"]
url = https://github.com/godotengine/godot-cpp

View file

@ -5,11 +5,11 @@ services:
jobs: jobs:
include: include:
- name: "Build on Arch Linux" - name: "Build native libs on Arch Linux"
env: SERVICE=build-archlinux env: SERVICE=build-archlinux
- name: "Build on NixOS" - name: "Build native libs on NixOS"
env: SERVICE=build-nixos env: SERVICE=build-nixos
- name: "Build on Ubuntu" - name: "Build native libs on Ubuntu"
env: SERVICE=build-ubuntu env: SERVICE=build-ubuntu
script: docker-compose run $SERVICE script: docker-compose run $SERVICE

View file

@ -26,4 +26,4 @@ You are also implicitly verifying that all code is your original work, or unorig
Copyright (c) 2020 Leroy Hopson (MIT License) Copyright (c) 2020 Leroy Hopson (MIT License)
The fonts used in this project are published under a seperate license. The fonts used in this project are published under a seperate license.
See: [addons/godot_xterm/fonts/LICENSE.txt](addons/godot_xterm/fonts/LICENSE.txt). See the various license files in the [subdirectories](addons/godot_xterm/themes/fonts/) for each font.

View file

@ -1 +0,0 @@
LICENSE

View file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2020 The GodotXterm authors (https://github.com/lihop/godot-xterm/contributors)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View file

@ -1,16 +0,0 @@
[general]
singleton=false
load_once=true
symbol_prefix="godot_"
reloadable=true
[entry]
X11.64="res://addons/godot_xterm/bin/x11/libgodotxtermnative.so"
Server.64="res://addons/godot_xterm/bin/x11/libgodotxtermnative.so"
[dependencies]
X11.64=[ ]
Server.64=[ ]

View file

@ -0,0 +1,16 @@
extends Node
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
#func _process(delta):
# pass

View file

@ -18,10 +18,10 @@ opts.Add(PathVariable('target_path', 'The path where the lib is installed.', 'bi
opts.Add(PathVariable('target_name', 'The library name.', 'libgodotxtermnative', PathVariable.PathAccept)) opts.Add(PathVariable('target_name', 'The library name.', 'libgodotxtermnative', PathVariable.PathAccept))
# Local dependency paths, adapt them to your setup # Local dependency paths, adapt them to your setup
godot_headers_path = "godot-cpp/godot_headers/" godot_headers_path = "modules/godot-cpp/godot_headers/"
cpp_bindings_path = "godot-cpp/" cpp_bindings_path = "modules/godot-cpp/"
cpp_library = "libgodot-cpp" cpp_library = "libgodot-cpp"
libtsm_path = "libtsm/" libtsm_path = "modules/libtsm/"
# only support 64 at this time.. # only support 64 at this time..
bits = 64 bits = 64

View file

@ -1,26 +1,27 @@
#! /usr/bin/env nix-shell #! /usr/bin/env nix-shell
#! nix-shell -i bash --pure -p binutils.bintools cmake scons #! nix-shell -i bash --pure -p binutils.bintools cmake scons
set -e
# Make sure we are in the addons/godot_xterm directory # Make sure we are in the addons/godot_xterm directory
cd ${BASH_SOURCE%/*} cd ${BASH_SOURCE%/*}
# Initialize godot-cpp # Initialize godot-cpp
if [ ! -d "godot-cpp/bin" ] if [ ! -d "modules/godot-cpp/bin" ]
then then
cd godot-cpp cd modules/godot-cpp
scons platform=linux generate_bindings=yes -j12 scons platform=linux generate_bindings=yes -j12
cd .. cd ../..
fi fi
# Build libtsm # Build libtsm
if [ ! -f "libtsm/build/src/tsm/libtsm.a" ] if [ ! -f "modules/libtsm/build/src/tsm/libtsm.a" ]
then then
cd libtsm cd modules/libtsm
mkdir -p build mkdir -p build
cd build cd build
cmake -DBUILD_SHARED_LIBS=n .. cmake -DBUILD_SHARED_LIBS=n ..
make make
cd ../.. cd ../../..
fi fi
# Build godotxtermnative # Build godotxtermnative

View file

@ -0,0 +1,16 @@
[general]
singleton=false
load_once=true
symbol_prefix="godot_"
reloadable=true
[entry]
X11.64="res://addons/godot_xterm/native/bin/x11/libgodotxtermnative.so"
Server.64="res://addons/godot_xterm/native/bin/x11/libgodotxtermnative.so"
[dependencies]
X11.64=[ ]
Server.64=[ ]

View file

@ -1,6 +1,6 @@
[gd_resource type="NativeScript" load_steps=2 format=2] [gd_resource type="NativeScript" load_steps=2 format=2]
[ext_resource path="res://addons/godot_xterm/godotxtermnative.gdnlib" type="GDNativeLibrary" id=1] [ext_resource path="res://addons/godot_xterm/native/godotxtermnative.gdnlib" type="GDNativeLibrary" id=1]
[resource] [resource]
resource_name = "Terminal" resource_name = "Terminal"

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -2,15 +2,15 @@
importer="texture" importer="texture"
type="StreamTexture" type="StreamTexture"
path="res://.import/pseudoterminal_icon.svg-50ba2514dae785a6b48b0da604cf3a09.stex" path="res://.import/pseudoterminal_icon.svg-0b26aed87c28626d61aa92bd9e34d5a9.stex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://addons/godot_xterm/pseudoterminal_icon.svg" source_file="res://addons/godot_xterm/nodes/pseudoterminal/pseudoterminal_icon.svg"
dest_files=[ "res://.import/pseudoterminal_icon.svg-50ba2514dae785a6b48b0da604cf3a09.stex" ] dest_files=[ "res://.import/pseudoterminal_icon.svg-0b26aed87c28626d61aa92bd9e34d5a9.stex" ]
[params] [params]

View file

@ -1,6 +1,6 @@
[gd_resource type="NativeScript" load_steps=2 format=2] [gd_resource type="NativeScript" load_steps=2 format=2]
[ext_resource path="res://addons/godot_xterm/godotxtermnative.gdnlib" type="GDNativeLibrary" id=1] [ext_resource path="res://addons/godot_xterm/native/godotxtermnative.gdnlib" type="GDNativeLibrary" id=1]
[resource] [resource]
resource_name = "Terminal" resource_name = "Terminal"

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -2,15 +2,15 @@
importer="texture" importer="texture"
type="StreamTexture" type="StreamTexture"
path="res://.import/terminal_icon.svg-33ee6ad8b86db2f37e5d8d61a6b1b8db.stex" path="res://.import/terminal_icon.svg-a0706fd47bb880823b1242c224120d4f.stex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://addons/godot_xterm/terminal_icon.svg" source_file="res://addons/godot_xterm/nodes/terminal/terminal_icon.svg"
dest_files=[ "res://.import/terminal_icon.svg-33ee6ad8b86db2f37e5d8d61a6b1b8db.stex" ] dest_files=[ "res://.import/terminal_icon.svg-a0706fd47bb880823b1242c224120d4f.stex" ]
[params] [params]

View file

@ -3,12 +3,12 @@ extends EditorPlugin
func _enter_tree(): func _enter_tree():
var terminal_script = preload("res://addons/godot_xterm/terminal.gdns") var terminal_script = preload("res://addons/godot_xterm/nodes/terminal/terminal.gdns")
var terminal_icon = preload("res://addons/godot_xterm/terminal_icon.svg") var terminal_icon = preload("res://addons/godot_xterm/nodes/terminal/terminal_icon.svg")
add_custom_type("Terminal", "Control", terminal_script, terminal_icon) add_custom_type("Terminal", "Control", terminal_script, terminal_icon)
var pseudoterminal_script = preload("res://addons/godot_xterm/pseudoterminal.gdns") var pseudoterminal_script = preload("res://addons/godot_xterm/nodes/pseudoterminal/pseudoterminal.gdns")
var pseudoterminal_icon = preload("res://addons/godot_xterm/pseudoterminal_icon.svg") var pseudoterminal_icon = preload("res://addons/godot_xterm/nodes/pseudoterminal/pseudoterminal_icon.svg")
add_custom_type("Pseudoterminal", "Node", pseudoterminal_script, pseudoterminal_icon) add_custom_type("Pseudoterminal", "Node", pseudoterminal_script, pseudoterminal_icon)

View file

@ -4,14 +4,14 @@ services:
build: build:
context: . context: .
dockerfile: ./dockerfiles/archlinux dockerfile: ./dockerfiles/archlinux
command: bash /src/addons/godot_xterm/build.sh command: bash /src/addons/godot_xterm/native/build.sh
build-nixos: build-nixos:
build: build:
context: . context: .
dockerfile: ./dockerfiles/nixos dockerfile: ./dockerfiles/nixos
command: /src/addons/godot_xterm/build.sh command: /src/addons/godot_xterm/native/build.sh
build-ubuntu: build-ubuntu:
build: build:
context: . context: .
dockerfile: ./dockerfiles/ubuntu dockerfile: ./dockerfiles/ubuntu
command: bash /src/addons/godot_xterm/build.sh command: bash /src/addons/godot_xterm/native/build.sh

View file

@ -1,8 +1,8 @@
[gd_scene load_steps=5 format=2] [gd_scene load_steps=5 format=2]
[ext_resource path="res://addons/godot_xterm/terminal.gdns" type="Script" id=1] [ext_resource path="res://addons/godot_xterm/nodes/terminal/terminal.gdns" type="Script" id=1]
[ext_resource path="res://addons/godot_xterm/themes/default.theme" type="Theme" id=2] [ext_resource path="res://addons/godot_xterm/themes/default.theme" type="Theme" id=2]
[ext_resource path="res://addons/godot_xterm/pseudoterminal.gdns" type="Script" id=3] [ext_resource path="res://addons/godot_xterm/nodes/pseudoterminal/pseudoterminal.gdns" type="Script" id=3]
[ext_resource path="res://examples/terminal/container.gd" type="Script" id=4] [ext_resource path="res://examples/terminal/container.gd" type="Script" id=4]
[node name="Container" type="Container"] [node name="Container" type="Container"]