require "filename_helper.pl";
-use Env qw(FEISTY_MEOW_BINARIES BUILD_TOP FEISTY_MEOW_APEX FEISTY_MEOW_LOADING_DOCK FEISTY_MEOW_SCRIPTS DEBUG_FEISTY_MEOW );
+use Env qw(FEISTY_MEOW_BINARIES BUILD_TOP FEISTY_MEOW_APEX FEISTY_MEOW_LOADING_DOCK FEISTY_MEOW_SCRIPTS DEBUG_FEISTY_MEOW HOME );
# given a possible aliasable filename, this will decide whether to create a perl
# or bash alias for it. it needs the filename of the possible alias and the
# directory where that file resides.
sub make_alias {
local($file, $dir) = @_;
- if ($file =~ /\.[pP][lL]$/) {
- local($aliasname) = $file; $aliasname =~ s/\.[Pp][lL]$//;
- &make_perl_alias($aliasname, "$dir");
+ if ($file =~ /\.[pP][yY]$/) {
+ local($aliasname) = $file; $aliasname =~ s/\.[Pp][yY]$//;
+ &make_python_alias($aliasname, "$dir");
} elsif ($file =~ /\.[sS][hH]$/) {
local($aliasname) = $file; $aliasname =~ s/\.[Ss][Hh]$//;
&make_bash_alias($aliasname, "$dir");
+ } elsif ($file =~ /\.[pP][lL]$/) {
+ local($aliasname) = $file; $aliasname =~ s/\.[Pp][lL]$//;
+ &make_perl_alias($aliasname, "$dir");
}
}
print she "define_yeti_alias $aliasname=\"bash $full_alias.sh\"\n";
}
+# makes an alias for a python script given the alias name.
+#hmmm: don't love that we're hardcoding python3 in here, but apparently some systems don't have a 'python' command despite having python installed.
+sub make_python_alias {
+ local($aliasname) = shift(@_);
+ local($full_alias) = $aliasname;
+ $aliasname =~ s/^.*\/([^\/]*)/\1/;
+#print "alias became $aliasname\n";
+ print she "define_yeti_alias $aliasname=\"python3 $full_alias.py\"\n";
+}
+
# makes an alias for a perl script given the alias name.
sub make_perl_alias {
local($aliasname) = shift(@_);
@ALIAS_DEFINITION_FILES = ("$FEISTY_MEOW_SCRIPTS/core/common.alias");
# if custom aliases files exist, add them to the list.
+#hmmm: would be nice to have this name in a symbol somewhere instead of having "custom" or "customize" everywhere.
foreach $i (&glob_list("$FEISTY_MEOW_LOADING_DOCK/custom/*.alias")) {
if (-f $i) { push(@ALIAS_DEFINITION_FILES, $i); }
}
if (length($DEBUG_FEISTY_MEOW)) {
print "using these alias files:\n";
-print "HEY IS THIS PROBLEM CHILD?\n";
foreach $i (@ALIAS_DEFINITION_FILES) {
local $base_of_dir = &basename(&dirname($i));
local $basename = &basename($i);
print " $base_of_dir/$basename\n";
}
-print "WAS PROBLEM CHILD ABOVE HERE?\n";
}
# write the aliases for sh and bash scripts.
-
local $GENERATED_ALIAS_FILE = "$FEISTY_MEOW_LOADING_DOCK/fmc_core_and_custom_aliases.sh";
if (length($DEBUG_FEISTY_MEOW)) {
print "writing generated aliases in $GENERATED_ALIAS_FILE...\n";
# set the executable bit for binaries for just this current user.
if (-d $FEISTY_MEOW_BINARIES) {
- system("chmod -R u+x \"$FEISTY_MEOW_BINARIES\"/*");
+ system("find \"$FEISTY_MEOW_BINARIES\" -type f -exec chmod u+x \"{}\" ';'");
}
##############
# find the list of files in the scripts directory.
@shell_files = (find_files(recursive_find_directories("$FEISTY_MEOW_SCRIPTS")),
+ find_files("$FEISTY_MEOW_LOADING_DOCK/custom/scripts"),
find_files(recursive_find_directories("$FEISTY_MEOW_LOADING_DOCK/custom/scripts")));
# strip out the customization files, since they are added in on demand only.
|| $file =~ /\/\.\.$/
|| $file =~ /\/\.svn$/
|| $file =~ /\/\.git$/
- || $file =~ /\/custom\/[a-zA-Z0-9_]+\/[a-zA-Z0-9_.]+$/
-#hmmm: would be nice to have this name in a symbol somewhere instead of having "customize" everywhere.
) {
# just skip this item; it's a special directory or a file we don't want to include.
-# print "skipping name: $file\n";
+ print "skipping name: $file\n";
} else {
&make_alias($file, "");
}