@@ -55,51 +55,47 @@ public ServerSetup() {
55
55
56
56
try {
57
57
Logger .log ("Starting scan for managed files: " + dateFormatter .format (new Date ()));
58
- Logger .debug (String .format ("Ignore patterns: %s" , String . join ( ", " , config .FILE_IGNORE_LIST )));
58
+ Logger .log (String .format ("Ignore patterns: %s" , PrettyCollection . get ( config .FILE_IGNORE_LIST )));
59
59
60
60
for (String managedDirectory : managedDirectories ) {
61
61
Files .createDirectories (Paths .get (managedDirectory ));
62
62
}
63
63
64
- Map <String , String > managedFiles = fileManager
65
- .getDiffableFilesFromDirectories (managedDirectories );
66
-
67
- //TODO add file include list for white / black list matching combos
68
- // Glob matching from user configured patterns
69
- Map <String , String > filteredFiles = managedFiles
70
- .entrySet ()
71
- .stream ()
72
- .filter (entry -> {
73
- Path file = Paths .get (entry .getKey ());
74
- return !GlobPathMatcher
75
- .matches (file , config .FILE_IGNORE_LIST );
76
- })
77
- .collect (Collectors .toMap (Map .Entry ::getKey , Map .Entry ::getValue ));
64
+ Map <String , String > managedFiles = fileManager .getDiffableFilesFromDirectories (managedDirectories );
78
65
79
66
Logger .log (String .format (
80
67
"Found %d files in %d directories <%s>" ,
81
68
managedFiles .size (),
82
69
managedDirectories .size (),
83
70
String .join (", " , managedDirectories )
84
71
));
85
- Logger .debug ("unfiltered: " + managedFiles .toString ());
86
- Logger .debug ("filtered: " + filteredFiles .toString ());
87
- serverFiles .putAll (filteredFiles );
88
-
89
- // Add config include files
90
- Map <String , String > configIncludeFiles = config .CONFIG_INCLUDE_LIST
91
- .stream ()
92
- .parallel ()
93
- .map (p -> new PathBuilder ("config" ).add (p ).buildPath ())
94
- .filter (path -> Files .exists (path ) && !IgnoredFilesMatcher .matches (path ))
95
- .collect (Collectors .toMap (Path ::toString , FileHash ::hashFile ));
72
+ if (managedFiles .size () > 0 ) {
73
+ serverFiles .putAll (managedFiles );
74
+ Logger .log (String .format ("Managed files: %s" , PrettyCollection .get (managedFiles )));
75
+ }
96
76
97
- Logger .log (String .format (
98
- "Found %d included configs in <config>" ,
99
- configIncludeFiles .size ()
100
- ));
101
- Logger .debug ("files: " + String .join ("," , configIncludeFiles .keySet ()));
102
- serverFiles .putAll (configIncludeFiles );
77
+ // Only include configs if some are actually listed
78
+ // saves wasting time scanning the config directory.
79
+ if (config .CONFIG_INCLUDE_LIST .size () > 0 ) {
80
+ Logger .log (String .format ("Starting scan for managed configs: %s" , dateFormatter .format (new Date ())));
81
+ Logger .log (String .format ("Include patterns: %s" , PrettyCollection .get (config .CONFIG_INCLUDE_LIST )));
82
+ // Add config include files
83
+ Map <String , String > configIncludeFiles = config .CONFIG_INCLUDE_LIST
84
+ .stream ()
85
+ .parallel ()
86
+ .map (p -> new PathBuilder ("config" ).add (p ).buildPath ())
87
+ .filter (path -> Files .exists (path ) && !IgnoredFilesMatcher .matches (path ))
88
+ .collect (Collectors .toConcurrentMap (Path ::toString , FileHash ::hashFile ));
89
+
90
+ Logger .log (String .format (
91
+ "Found %d included configs in <config>" ,
92
+ configIncludeFiles .size ()
93
+ ));
94
+ if (configIncludeFiles .size () > 0 ) {
95
+ Logger .log (String .format ("Config files: %s" , PrettyCollection .get (configIncludeFiles )));
96
+ serverFiles .putAll (configIncludeFiles );
97
+ }
98
+ }
103
99
104
100
if (shouldPushClientOnlyFiles ()) {
105
101
Logger .log ("Server configured to push client only mods, clients can still refuse these mods!" );
@@ -118,8 +114,10 @@ public ServerSetup() {
118
114
clientOnlyFiles .size (),
119
115
FileManager .clientOnlyFilesDirectoryName
120
116
));
121
- Logger .debug (clientOnlyFiles .toString ());
122
- serverFiles .putAll (clientOnlyFiles );
117
+ if (clientOnlyFiles .size () > 0 ) {
118
+ Logger .log (String .format ("Client only files: %s" , PrettyCollection .get (clientOnlyFiles )));
119
+ serverFiles .putAll (clientOnlyFiles );
120
+ }
123
121
}
124
122
}
125
123
} catch (IOException e ) {
@@ -164,7 +162,7 @@ public void run() {
164
162
clientThread .start ();
165
163
} catch (IOException e ) {
166
164
Logger .error (
167
- "Error while accepting client connection, breaking server listener. You will need to restart serversync " );
165
+ "Error while accepting client connection, breaking server listener. You will need to restart ServerSync " );
168
166
try {
169
167
server .close ();
170
168
} catch (IOException ex ) {
0 commit comments