26
26
27
27
# Check the manifest file
28
28
manifest_array = [["pip" , "requirements.txt" ], ["npm" , "package.json" ], ["maven" , "pom.xml" ],
29
- ["gradle" , "build.gradle" ], ["pub" , "pubspec.yaml" ], ["cocoapods" , "Podfile.lock" ]]
29
+ ["gradle" , "build.gradle" ], ["pub" , "pubspec.yaml" ], ["cocoapods" , "Podfile.lock" ],
30
+ ["android" , "gradlew" ]]
30
31
31
32
# binary url to check license text
32
33
license_scanner_url_linux = "third_party/nomos/nomossa"
@@ -59,7 +60,7 @@ def check_valid_manifest_file():
59
60
60
61
61
62
def parse_option ():
62
- global MANUAL_DETECT , PIP_ACTIVATE , PIP_DEACTIVATE , PACKAGE , OUTPUT_CUSTOM_DIR , CUR_PATH , OUTPUT_RESULT_DIR
63
+ global MANUAL_DETECT , PIP_ACTIVATE , PIP_DEACTIVATE , PACKAGE , OUTPUT_CUSTOM_DIR , CUR_PATH , OUTPUT_RESULT_DIR , APPNAME
63
64
64
65
default_unspecified = "UNSPECIFIED"
65
66
@@ -72,6 +73,7 @@ def parse_option():
72
73
parser .add_argument ('-p' , '--path' , nargs = 1 , type = str , required = False )
73
74
parser .add_argument ('-v' , '--version' , action = 'store_true' , required = False )
74
75
parser .add_argument ('-o' , '--output' , nargs = 1 , type = str , required = False )
76
+ parser .add_argument ('-n' , '--appname' , nargs = 1 , type = str , required = False )
75
77
76
78
args = parser .parse_args ()
77
79
@@ -133,6 +135,11 @@ def parse_option():
133
135
CUR_PATH = os .getcwd ()
134
136
os .chdir (CUR_PATH )
135
137
138
+ if args .appname :
139
+ APPNAME = "" .join (args .appname )
140
+ else :
141
+ APPNAME = "app"
142
+
136
143
137
144
def configure_package ():
138
145
if MANUAL_DETECT == 0 :
@@ -876,10 +883,29 @@ def parse_and_generate_output_cocoapods(input_fp):
876
883
return sheet_list
877
884
878
885
886
+ def parse_and_generate_output_android (input_fp ):
887
+ sheet_list = {}
888
+ sheet_list ["SRC" ] = []
889
+
890
+ for i , line in enumerate (input_fp .readlines ()):
891
+ split_str = line .strip ().split ("\t " )
892
+ if i < 2 :
893
+ continue
894
+
895
+ if len (split_str ) == 9 :
896
+ idx , manifest_file , oss_name , oss_version , license_name , dn_loc , homepage , NA , NA = split_str
897
+ elif len (split_str ) == 7 :
898
+ idx , manifest_file , oss_name , oss_version , license_name , dn_loc , homepage = split_str
899
+ else :
900
+ continue
901
+ sheet_list ["SRC" ].append ([manifest_file , oss_name , oss_version , license_name , dn_loc , homepage , '' , '' , '' ])
902
+
903
+ return sheet_list
904
+
905
+
879
906
###########################################
880
907
# Main functions for each package manager #
881
908
###########################################
882
-
883
909
def main_pip ():
884
910
# It needs the virtualenv path that pip packages are installed.
885
911
check_virtualenv_arg ()
@@ -968,10 +994,21 @@ def main_cocoapods():
968
994
return sheet_list
969
995
970
996
997
+ def main_android ():
998
+
999
+ input_fp = open_input_file ()
1000
+
1001
+ sheet_list = parse_and_generate_output_android (input_fp )
1002
+
1003
+ close_input_file (input_fp )
1004
+
1005
+ return sheet_list
1006
+
1007
+
971
1008
def main ():
972
1009
973
1010
global PACKAGE , output_file_name , input_file_name , CUR_PATH , OUTPUT_RESULT_DIR , \
974
- MANUAL_DETECT , OUTPUT_CUSTOM_DIR , dn_url , PIP_ACTIVATE , PIP_DEACTIVATE
1011
+ MANUAL_DETECT , OUTPUT_CUSTOM_DIR , dn_url , PIP_ACTIVATE , PIP_DEACTIVATE , APPNAME
975
1012
global license_scanner_url , license_scanner_bin , venv_tmp_dir , pom_backup , \
976
1013
is_maven_first_try , tmp_license_txt_file_name , source_type , logger
977
1014
@@ -1027,6 +1064,10 @@ def main():
1027
1064
output_file_name = "cocoapods_dependency_output"
1028
1065
source_type = ['git' , 'http' , 'svn' , 'hg' ]
1029
1066
1067
+ elif PACKAGE == "android" :
1068
+ input_file_name = os .path .join (APPNAME , "android_dependency_output.txt" )
1069
+ output_file_name = "android_dependency_output"
1070
+
1030
1071
else :
1031
1072
logger .error ("### Error Message ###" )
1032
1073
logger .error ("You enter the wrong first argument." )
@@ -1045,6 +1086,8 @@ def main():
1045
1086
sheet_list = main_pub ()
1046
1087
elif PACKAGE == "cocoapods" :
1047
1088
sheet_list = main_cocoapods ()
1089
+ elif PACKAGE == "android" :
1090
+ sheet_list = main_android ()
1048
1091
else :
1049
1092
logger .error ("### Error Message ###" )
1050
1093
logger .error ("Please enter the supported package manager. (Check the help message with (-h) option.)" )
0 commit comments