Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
Tiled Display Video
Manage
Activity
Members
Labels
Plan
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
LuFG VR VIS
VR-Group
Tiled Display Video
Commits
33c25c67
Commit
33c25c67
authored
5 years ago
by
Simon Oehrl
Browse files
Options
Downloads
Patches
Plain Diff
Put setup script in submodule
parent
937fed8d
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
.gitmodules
+4
-0
4 additions, 0 deletions
.gitmodules
setup
+1
-0
1 addition, 0 deletions
setup
setup.sh
+2
-397
2 additions, 397 deletions
setup.sh
with
7 additions
and
397 deletions
.gitmodules
0 → 100644
+
4
−
0
View file @
33c25c67
[submodule "setup"]
path = setup
url = https://devhub.vr.rwth-aachen.de/VR-Group/unreal-development/unreal-project-setup-script.git
branch = master
This diff is collapsed.
Click to expand it.
setup
@
7a755e44
Subproject commit 7a755e44b93e97ad7ade3c78512e5196f9f53f06
This diff is collapsed.
Click to expand it.
setup.sh
+
2
−
397
View file @
33c25c67
#!/bin/sh
function
initial_setup
()
{
clear
echo
"The setup will now delete all branches and remotes and create a default develop and master branch. Continue? [Y/n]"
read
cont
if
[
"
$cont
"
==
"y"
]
||
[
"
$cont
"
==
"Y"
]
||
[
"
$cont
"
==
""
]
then
git lfs
install
git lfs track
'*.uasset'
current_branch
=
$(
git rev-parse
--abbrev-ref
HEAD
)
branches_to_delete
=
$(
git
for
-each-ref
--format
=
'%(refname:short)'
refs/heads/
)
for
branch
in
$branches_to_delete
do
if
[
"
$branch
"
!=
"
$current_branch
"
]
then
git branch
-d
"
$branch
"
fi
done
if
[
"
$current_branch
"
!=
"develop"
]
then
git checkout
-b
develop
git branch
-d
"
$current_branch
"
fi
echo
"Press [enter] to select plugins."
read
x
manage_plugins
"initial_setup"
git add
.
git commit
-m
"Initial commit"
git branch master
git remote | xargs
-n1
git remote remove
echo
"Enter URL of the project's git repository (Leave empty to skip this step):"
read
new_remote
if
[
-n
"
$new_remote
"
]
then
echo
"Setting up repository..."
git remote add origin
$new_remote
git push
-u
origin develop
git checkout master
git push
-u
origin master
git checkout develop
fi
echo
"Done!"
else
echo
"Skipping setup."
fi
}
function
manage_plugins
()
{
clear
echo
"Loading plugin list..."
mkdir
-p
Plugins
path
=
$(
git config
-f
.gitmodules
--get
"submodule.Plugins/unrealplugins.path"
)
if
[
$?
-ne
0
]
then
git submodule add
-f
-b
master https://devhub.vr.rwth-aachen.de/VR-Group/unreal-development/unrealplugins.git Plugins/unrealplugins
else
cd
Plugins/unrealplugins
git pull
cd
../..
fi
SAVEIFS
=
$IFS
IFS
=
$'
\n
'
preset_list
=(
$(
git config
-f
Plugins/unrealplugins/presets.config
--name-only
--get-regexp
".*.name"
)
)
plugin_list
=(
$(
git config
-f
Plugins/unrealplugins/plugins.config
--name-only
--get-regexp
".*.name"
)
)
IFS
=
$SAVEIFS
declare
-a
preset_ids
declare
-a
preset_descriptions
declare
-a
presets
for
i
in
${
!preset_list[@]
}
do
preset_id
=
${
preset_list
[
$i
]%.name
}
preset_ids+
=(
"
$preset_id
"
)
preset_name
=
$(
git config
-f
Plugins/unrealplugins/presets.config
--get
"
$preset_id
.name"
)
presets+
=(
"
${
preset_name
}
"
)
preset_description
=
$(
git config
-f
Plugins/unrealplugins/presets.config
--get
"
$preset_id
.description"
)
preset_descriptions+
=(
"
${
preset_description
}
"
)
done
declare
-a
plugin_ids
declare
-a
plugins
declare
-a
plugin_repositories
declare
-a
plugin_branches
for
i
in
${
!plugin_list[@]
}
do
plugin_id
=
${
plugin_list
[
$i
]%.name
}
plugin_ids+
=(
"
$plugin_id
"
)
plugin_name
=
$(
git config
-f
Plugins/unrealplugins/plugins.config
--get
"
$plugin_id
.name"
)
plugins+
=(
"
${
plugin_name
}
"
)
plugin_repositories+
=(
$(
git config
-f
Plugins/unrealplugins/plugins.config
--get
"
$plugin_id
.url"
)
)
if
[
"
$1
"
==
"initial_setup"
]
then
plugin_branches+
=(
""
)
else
path
=
$(
git config
-f
.gitmodules
--get
"submodule.Plugins/
${
plugin_id
}
.path"
)
if
[
$?
==
0
]
then
branch
=
$(
git config
-f
.gitmodules
--get
"submodule.Plugins/
${
plugin_id
}
.branch"
)
if
[
$?
-ne
0
]
then
plugin_branches+
=(
"master"
)
else
plugin_branches+
=(
"
$branch
"
)
fi
else
plugin_branches+
=(
""
)
fi
fi
done
if
[
"
$1
"
==
"initial_setup"
]
then
selection
=
0
exit
=
false
cancel
=
false
num_presets_minus_one
=
${#
presets
[@]
}
let
num_presets_minus_one-
=
1
while
[
$exit
==
"false"
]
do
clear
echo
"Select plugin preset:"
echo
""
for
i
in
${
!presets[@]
}
do
if
[
$i
==
$selection
]
then
printf
"
\e
[7m"
fi
echo
"
${
presets
[
$i
]
}
"
if
[
$i
==
$selection
]
then
printf
"
\e
[0m"
fi
done
echo
""
echo
"
${
preset
[
$selection
]
}
"
echo
"
${
preset_descriptions
[
$selection
]
}
"
echo
""
echo
"[Arrow Up/Down] Select preset"
echo
"[Enter] Continue"
echo
"[Esc] Skip preset selection"
SAVEIFS
=
$IFS
IFS
=
''
escape_char
=
$(
printf
"
\0
33"
)
escape
=
false
read
-rsn1
mode
# get 1 character
if
[[
$mode
==
$escape_char
]]
;
then
escape
=
true
read
-rsn2
mode
# read 2 more chars
fi
IFS
=
$SAVEIFS
case
$mode
in
""
)
if
[
"
$escape
"
==
true
]
;
then
cancel
=
true
;
fi
;
exit
=
true
;;
"[D"
)
previous_branch
$selection
;;
"[C"
)
next_branch
$selection
;;
"[A"
)
if
[
"
$selection
"
-gt
"0"
]
;
then
let
selection-
=
1
;
fi
;;
"[B"
)
if
[
"
$selection
"
-lt
"
$num_presets_minus_one
"
]
;
then
let
selection+
=
1
;
fi
;;
*
)
>
&2
;;
esac
done
# Set the appropriate plugin branches
if
[
"
$cancel
"
!=
true
]
then
SAVEIFS
=
$IFS
IFS
=
$'
\n
'
preset_plugins
=(
$(
git config
-f
Plugins/unrealplugins/presets.config
--name-only
--get-regexp
"
${
preset_ids
[
$selection
]
}
\.
plugins
\.
.*"
)
)
IFS
=
$SAVEIFS
for
plugin
in
${
preset_plugins
[@]
}
do
plugin_id
=
${
plugin
#
"
${
preset_ids
[
$selection
]
}
.plugins."
}
for
i
in
${
!plugins[@]
}
do
if
[
$plugin_id
==
${
plugin_ids
[
$i
]
}
]
then
branch
=
$(
git config
-f
Plugins/unrealplugins/presets.config
--get
"
$plugin
"
)
plugin_branches[
$i
]=
$branch
fi
done
done
fi
fi
function
next_branch
()
{
case
${
plugin_branches
[
$1
]
}
in
""
)
plugin_branches[
$1
]=
"master"
;;
"master"
)
plugin_branches[
$1
]=
"develop"
;;
"develop"
)
plugin_branches[
$1
]=
""
;;
*
)
>
&2
;
plugin_branches[
$1
]=
""
;;
esac
}
function
previous_branch
()
{
case
${
plugin_branches
[
$1
]
}
in
"master"
)
plugin_branches[
$1
]=
""
;;
"develop"
)
plugin_branches[
$1
]=
"master"
;;
""
)
plugin_branches[
$1
]=
"develop"
;;
*
)
>
&2
;
plugin_branches[
$1
]=
""
;;
esac
}
selection
=
0
exit
=
false
cancel
=
false
num_plugins_minus_one
=
${#
plugins
[@]
}
let
num_plugins_minus_one-
=
1
while
[
$exit
==
"false"
]
do
clear
echo
"Select plugins to install:"
echo
""
for
i
in
${
!plugins[@]
}
do
if
[
$i
==
$selection
]
then
printf
"
\e
[7m"
fi
if
[
-z
${
plugin_branches
[
$i
]
}
]
then
echo
" [ ]
${
plugins
[
$i
]
}
"
else
echo
" [X]
${
plugins
[
$i
]
}
:
${
plugin_branches
[
$i
]
}
"
fi
if
[
$i
==
$selection
]
then
printf
"
\e
[0m"
fi
done
echo
""
echo
"[Arrow Up/Down] Select Plugin"
echo
"[Arrow Left/Right] Select branch"
echo
"[Enter] Continue"
echo
"[Esc] Cancel"
SAVEIFS
=
$IFS
IFS
=
''
escape_char
=
$(
printf
"
\0
33"
)
escape
=
false
read
-rsn1
mode
# get 1 character
if
[[
$mode
==
$escape_char
]]
;
then
escape
=
true
read
-rsn2
mode
# read 2 more chars
fi
IFS
=
$SAVEIFS
case
$mode
in
""
)
if
[
"
$escape
"
==
true
]
;
then
cancel
=
true
;
fi
;
exit
=
true
;;
"[D"
)
previous_branch
$selection
;;
"[C"
)
next_branch
$selection
;;
"[A"
)
if
[
"
$selection
"
-gt
"0"
]
;
then
let
selection-
=
1
;
fi
;;
"[B"
)
if
[
"
$selection
"
-lt
"
$num_plugins_minus_one
"
]
;
then
let
selection+
=
1
;
fi
;;
*
)
>
&2
;;
esac
done
if
[
"
$cancel
"
!=
true
]
then
clear
echo
"Adding/updating plugins..."
for
i
in
${
!plugins[@]
}
do
# Check if plugin is already present
path
=
$(
git config
-f
.gitmodules
--get
"submodule.Plugins/
${
plugin_ids
[
$i
]
}
.path"
)
if
[
$?
-ne
0
]
then
plugin_present
=
false
else
plugin_present
=
true
fi
if
[
-n
"
${
plugin_branches
[
$i
]
}
"
]
then
if
[
"
$plugin_present
"
==
false
]
then
# Plugin was not yet added, call git submodule add
echo
"Add new plugin:
${
plugins
[
$i
]
}
"
cd
Plugins
git submodule add
-f
-b
${
plugin_branches
[
$i
]
}
${
plugin_repositories
[
$i
]
}
cd
..
else
# Updating existing plugin
echo
"Update plugin:
${
plugins
[
$i
]
}
"
cd
"Plugins/
${
plugin_ids
[
$i
]
}
"
git fetch
git checkout
${
plugin_branches
[
$i
]
}
git pull
cd
../..
fi
else
if
[
"
$plugin_present
"
==
true
]
then
# Remove plugin!
git
rm
-f
"Plugins/
${
plugin_ids
[
$i
]
}
"
fi
fi
done
echo
"Done, Press enter to continue."
read
x
fi
}
function
show_main_menu
()
{
selection
=
0
exit
=
false
quit
=
false
while
[
"
$exit
"
==
false
]
do
clear
echo
"Select Task:"
echo
""
items
=(
"InitialSetup"
"ManagePlugins"
"Exit"
)
for
i
in
${
!items[@]
}
do
if
[
$i
==
$selection
]
then
printf
"
\e
[7m* "
else
printf
" "
fi
echo
"
${
items
[
$i
]
}
"
if
[
$i
==
$selection
]
then
printf
"
\e
[0m"
fi
done
echo
""
echo
"[Arrow Up/Down] Change Selection"
echo
"[Enter] Select"
echo
"[Esc] Quit"
SAVEIFS
=
$IFS
IFS
=
''
escape_char
=
$(
printf
"
\0
33"
)
escape
=
false
read
-rsn1
mode
# get 1 character
if
[[
$mode
==
$escape_char
]]
;
then
escape
=
true
read
-rsn2
mode
# read 2 more chars
fi
IFS
=
$SAVEIFS
case
$mode
in
""
)
if
[
"
$escape
"
=
true
]
;
then
quit
=
true
;
fi
;
exit
=
true
;;
"[A"
)
if
[
"
$selection
"
-gt
"0"
]
;
then
let
selection-
=
1
;
fi
;;
"[B"
)
if
[
"
$selection
"
-lt
"2"
]
;
then
let
selection+
=
1
;
fi
;;
*
)
>
&2
;;
esac
done
if
[
"
$escape
"
==
false
]
then
case
$selection
in
0
)
initial_setup
;
show_main_menu
;;
1
)
manage_plugins
;
show_main_menu
;;
2
)
;;
*
)
>
&2
;;
esac
fi
}
show_main_menu
clear
\ No newline at end of file
git submodule update
--init
--
setup
/bin/sh setup/setup.sh
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment