Skip to content

Commit 0cb0de0

Browse files
Revert "Revert "Merge pull request deep-foundation#95 from L4legenda/main""
This reverts commit 49e78f5.
1 parent 5232d0e commit 0cb0de0

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

gulpfile.ts

+11-10
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ gulp.task('packages:get', async () => {
125125
gulp.task('packages:ci', async () => {
126126
const modules = getModules();
127127
const parts = [];
128-
128+
129129
const packages = Object.keys(modules);
130130
for (let i = 0; i < packages.length; i++) {
131131
const currentPackage = process.platform === 'win32' ? packages[i].replace('/', '\\') : packages[i];
@@ -138,18 +138,19 @@ gulp.task('packages:ci', async () => {
138138

139139
const getModules = () => {
140140
const gitmodules = fs.readFileSync(`${__dirname}/.gitmodules`, { encoding: 'utf8' });
141-
const modulesArray: any = gitmodules.split('[').filter(m => !!m).map((m, i) => m.split(`
142-
`).map((p, i) => !i ? p.split(' ')[1].slice(1, process.platform === 'win32' ? -3 : -2) : p.replace('\n', '').split(' = ')));
141+
const regex = /\[submodule ?"(?<submodule_name>.+?)"]\s+path ?= ?(?<path>.+?)\s+url ?= ?(?<url>.+?)\s/gm;
143142
const modules = {};
144-
for (let m = 0; m < modulesArray.length; m++) {
145-
const ma = modulesArray[m];
146-
const mod = modules[ma[0]] = {};
147-
const mas = ma.slice(1);
148-
for (let k = 0; k < mas.length; k++) {
149-
const field = mas[k];
150-
mod[field[0]] = field[1];
143+
144+
let submodule;
145+
146+
while ((submodule = regex.exec(gitmodules)) !== null) {
147+
const {submodule_name, path, url} = submodule.groups
148+
modules[submodule_name] = {
149+
path,
150+
url,
151151
}
152152
}
153+
153154
return modules;
154155
}
155156

0 commit comments

Comments
 (0)