Skip to content

Commit

Permalink
use context directory to detect devfile
Browse files Browse the repository at this point in the history
  • Loading branch information
rottencandy committed Jan 7, 2021
1 parent b7ecb42 commit ef9ca72
Show file tree
Hide file tree
Showing 7 changed files with 79 additions and 171 deletions.
Expand Up @@ -2,7 +2,7 @@
{
"scope": "https://api.bitbucket.org:443",
"method": "GET",
"path": "/2.0/repositories/reginapizza/che/src/master/devfile.yaml",
"path": "/2.0/repositories/reginapizza/che/src/master//devfile.yaml",
"body": "",
"status": 200,
"response": "apiVersion: 1.0.0\nmetadata:\n name: che-server-in-che\ncomponents:\n - type: dockerimage\n image: quay.io/eclipse/che-java11-maven:nightly\n alias: maven\n mountSources: true\n memoryLimit: 2Gi\n volumes:\n - name: maven\n containerPath: /home/user/.m2\n - type: chePlugin\n id: redhat/java11/latest\ncommands:\n - name: build without tests\n actions:\n - type: exec\n component: maven\n command: mvn clean install -DskipTests\n workdir: ${CHE_PROJECTS_ROOT}/che\n",
Expand All @@ -16,39 +16,39 @@
"Content-Type",
"text/plain",
"X-B3-TraceId",
"cc62815a56190dbc",
"1941579d47b2aad5",
"Access-Control-Expose-Headers",
"Accept-Ranges, Content-Encoding, Content-Length, Content-Type, ETag, Last-Modified",
"X-Dc-Location",
"ash2",
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains; preload",
"Date",
"Tue, 01 Dec 2020 02:59:14 GMT",
"Thu, 24 Dec 2020 11:28:21 GMT",
"X-Served-By",
"app-3027",
"app-3020",
"Access-Control-Allow-Origin",
"*",
"Accept-Ranges",
"bytes",
"ETag",
"8396799273066886737",
"X-Static-Version",
"ad1eb073189c",
"8c0b162f5f7b",
"X-Content-Type-Options",
"nosniff",
"X-Accepted-OAuth-Scopes",
"repository",
"X-Render-Time",
"0.172173976898",
"0.204894065857",
"Connection",
"Keep-Alive",
"X-Request-Count",
"490",
"2319",
"X-Frame-Options",
"SAMEORIGIN",
"X-Version",
"ad1eb073189c",
"8c0b162f5f7b",
"DC-Location",
"ash2",
"X-Cache-Info",
Expand Down
Expand Up @@ -2,13 +2,13 @@
{
"scope": "https://api.bitbucket.org:443",
"method": "GET",
"path": "/2.0/repositories/akshinde/testgitsource/src/master/devfile.yaml",
"path": "/2.0/repositories/akshinde/testgitsource/src/master//devfile.yaml",
"body": "",
"status": 404,
"response": {
"type": "error",
"error": {
"message": "No such file or directory: devfile.yaml"
"message": "No such file or directory: /devfile.yaml"
}
},
"rawHeaders": [
Expand All @@ -21,39 +21,39 @@
"Content-Type",
"application/json; charset=utf-8",
"X-B3-TraceId",
"4ce59aa142215672",
"e8f7bfb2f497d99c",
"Access-Control-Expose-Headers",
"Accept-Ranges, Content-Encoding, Content-Length, Content-Type, ETag, Last-Modified",
"X-Dc-Location",
"ash2",
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains; preload",
"Date",
"Tue, 01 Dec 2020 02:59:15 GMT",
"Thu, 24 Dec 2020 11:28:22 GMT",
"X-Served-By",
"app-3002",
"app-3008",
"Access-Control-Allow-Origin",
"*",
"ETag",
"\"8043b1b5523f389c1a24c964653c61c5\"",
"\"d5f1967aeb9b53c2c85b649bb5c46a73\"",
"X-Static-Version",
"ad1eb073189c",
"8c0b162f5f7b",
"X-Accepted-OAuth-Scopes",
"repository",
"X-Render-Time",
"0.15286397934",
"0.225944042206",
"Connection",
"Keep-Alive",
"X-Request-Count",
"863",
"2436",
"X-Frame-Options",
"SAMEORIGIN",
"X-Version",
"ad1eb073189c",
"8c0b162f5f7b",
"X-Cache-Info",
"caching",
"Content-Length",
"78"
"79"
]
}
]
Expand Up @@ -2,23 +2,23 @@
{
"scope": "https://api.github.com:443",
"method": "GET",
"path": "/repos/reginapizza/che/contents/devfile.yaml",
"path": "/repos/reginapizza/che/contents//devfile.yaml",
"body": "",
"status": 301,
"response": "",
"rawHeaders": [
"server",
"GitHub.com",
"date",
"Tue, 01 Dec 2020 02:59:09 GMT",
"Thu, 24 Dec 2020 11:27:30 GMT",
"content-type",
"application/json; charset=utf-8",
"content-length",
"172",
"173",
"server",
"GitHub.com",
"status",
"301 Moved Permanently",
"location",
"https://api.github.com/repositories/283550952/contents/devfile.yaml",
"https://api.github.com/repositories/283550952/contents//devfile.yaml",
"x-github-media-type",
"github.v3; format=json",
"access-control-expose-headers",
Expand All @@ -38,44 +38,44 @@
"content-security-policy",
"default-src 'none'",
"vary",
"Accept-Encoding, Accept, X-Requested-With",
"Accept-Encoding, Accept, X-Requested-With, Accept-Encoding",
"X-Ratelimit-Limit",
"60",
"X-Ratelimit-Remaining",
"59",
"X-Ratelimit-Reset",
"1606795149",
"1608812850",
"X-Ratelimit-Used",
"1",
"Connection",
"close",
"X-GitHub-Request-Id",
"CA96:2502:923E9:16B371:5FC5B17C"
"8390:30E5:D55D51:10BE98F:5FE47B22"
]
},
{
"scope": "https://api.github.com:443",
"method": "GET",
"path": "/repositories/283550952/contents/devfile.yaml",
"path": "/repositories/283550952/contents//devfile.yaml",
"body": "",
"status": 200,
"response": [
"1f8b0800000000000003bd945b6fda401085ff0bcf49f0854b375255059ad8844b84896f2b4bd1aebdd886f5dac56bc044f9ef1d1322256915a969d5171e7667cef9e678d8c79620196b5db622b65da69c5dd424e3adb3564164f2eb69991038ece93a5af62953fb6a57efa33ea5e80beda01e2248454ceb7f51b4280a750232657a00f1aed23f6b551b0ebd89944579d96e9322bd88539954f422ccb3f686157909bf712ae0",
"e67020ed13cff9563d0f1376de14b4c35c482664f9727984fdb661cbaf192925db80612233fef0d6ea8dcdc70694e7b4fdacf5c6038441e59deea746009976e352b6ff20c528df099e93e81dc086ec4e195625db9cc239c5f9f19cbf1f51d645b309cd1ac0c0273d38f0bd41e1644e1d6a7c4b57793c5d747693d5d598ba8ee2bb561219d7bd617a15d3ec46e2fb3cf6b5844fbc190f05e6810853b5a0a9ba22863df63524430355d8ed2ae1211f8f865772645addd0b07b23c3dafa9ae461c6a5ef46bc510cc4683828a87b231addd07312b6e816b446dcd7f64568cef8449be578a1fef03d9c4cefaf25d46ad8edf468c645208869956c9ec7e013fbeebef0bd29f8a849943955a30fea92ea4e15ddccb69177bbc2cdbd69d5916b8f1b6fa830544e5d54337b0f1c5cb94baf6a4b5b37e4f1c8c45b6a3ab2e97a566b1495630ec191f844f35cdd740c072baa7521355e61ef76ee7b560e8a5b62208917480d35a79ed45de89ec60db5124726dfbd646a1b7b156bfc85bcc0df2193cc5913e3469968054c75bd9f2e501908d0e5a13e3fe60d0c15369f09278b41e5bb2abf4b0769e4f2120f073a0106c84081b9a1c73a04e2944ce2eb5601b487bb234b43fffa6b391dec4edf4da6ee02011d9c8af9bb9c8fddb019271e20a71eae46c6acc4c037327805de09741bbb78625b07a2f19d633887c87ce3a153fd76830d5e436a6ba6cc469683e6f61a8d2d7b6607c256d1e25e41f672818efb1608586426c23c4a450c9b4c49c97a1d387be0a95897adcbc756c9f8f23fbc4bf0bfff5b974f3d1dcd7bf8caf85fbc854f4f3f018299adbf35060000"
"1f8b0800000000000003bd945b6fda401085ff0bcf49f0854b375255059ad8844b84896f2b4bd1aebdd886f5dac56bc044f9ef1d1322256915a969d5171e7667cef9e678d8c79620196b5db622b65da69c5dd424e3adb3564164f2eb69991038ece93a5af62953fb6a57efa33ea5e80beda01e2248454ceb7f51b4280a750232657a00f1aed23f6b551b0ebd89944579d96e9322bd",
"88539954f422ccb3f686157909bf712ae0e67020ed13cff9563d0f1376de14b4c35c482664f9727984fdb661cbaf192925db80612233fef0d6ea8dcdc70694e7b4fdacf5c6038441e59deea746009976e352b6ff20c528df099e93e81dc086ec4e195625db9cc239c5f9f19cbf1f51d645b309cd1ac0c0273d38f0bd41e1644e1d6a7c4b57793c5d747693d5d598ba8ee2bb561219d7bd617a15d3ec46e2fb3cf6b5844fbc190f05e6810853b5a0a9ba22863df63524430355d8ed2ae1211f8f865772645addd0b07b23c3dafa9ae461c6a5ef46bc510cc4683828a87b231addd07312b6e816b446dcd7f64568cef8449be578a1fef03d9c4cefaf25d46ad8edf468c645208869956c9ec7e013fbeebef0bd29f8a849943955a30fea92ea4e15ddccb69177bbc2cdbd69d5916b8f1b6fa830544e5d54337b0f1c5cb94baf6a4b5b37e4f1c8c45b6a3ab2e97a566b1495630ec191f844f35cdd740c072baa7521355e61ef76ee7b560e8a5b62208917480d35a79ed45de89ec60db5124726dfbd646a1b7b156bfc85bcc0df2193cc5913e3469968054c75bd9f2e501908d0e5a13e3fe60d0c15369f09278b41e5bb2abf4b0769e4f2120f073a0106c84081b9a1c73a04e2944ce2eb5601b487bb234b43fffa6b391dec4edf4da6ee02011d9c8af9bb9c8fddb019271e20a71eae46c6acc4c037327805de09741bbb78625b07a2f19d633887c87ce3a153fd76830d5e436a6ba6cc469683e6f61a8d2d7b6607c256d1e25e41f672818efb1608586426c23c4a450c9b4c49c97a1d387be0a95897adcbc756c9f8f23fbc4bf0bfff5b974f3d1dcd7bf8caf85fbc854f4f3f018299adbf35060000"
],
"rawHeaders": [
"server",
"GitHub.com",
"date",
"Tue, 01 Dec 2020 02:59:09 GMT",
"Thu, 24 Dec 2020 11:27:31 GMT",
"content-type",
"application/json; charset=utf-8",
"server",
"GitHub.com",
"status",
"200 OK",
"cache-control",
"public, max-age=60, s-maxage=60",
"vary",
"Accept, Accept-Encoding, Accept, X-Requested-With",
"Accept, Accept-Encoding, Accept, X-Requested-With, Accept-Encoding",
"etag",
"W/\"6339f7be17153797bb98b4969a919e27802ddc3a\"",
"last-modified",
Expand Down Expand Up @@ -105,7 +105,7 @@
"X-Ratelimit-Remaining",
"58",
"X-Ratelimit-Reset",
"1606795149",
"1608812850",
"X-Ratelimit-Used",
"2",
"Accept-Ranges",
Expand All @@ -115,7 +115,7 @@
"Connection",
"close",
"X-GitHub-Request-Id",
"CA98:3755:2078E0:36104F:5FC5B17D"
"810C:30E4:2FFF95:3E7E54:5FE47B22"
]
}
]
Expand Up @@ -2,19 +2,19 @@
{
"scope": "https://api.github.com:443",
"method": "GET",
"path": "/repos/redhat-developer/devconsole-git/contents/devfile.yaml",
"path": "/repos/redhat-developer/devconsole-git/contents//devfile.yaml",
"body": "",
"status": 404,
"response": [
"1f8b08000000000000031d8c410a83301045af22e356cdde0374d92b141ba749c0cc48e667514aefeee0e6f1e0c1fb5165b32d31adf4540c0fedb2d344bbc65e59b0a1a8bc7a3bbc67e0b435046fb6a482dcdf4bd41a1a1b1c1f6e2c91dd4eb53131e6db0ab47de7a802dfd1ff02fdfa3e7d71000000"
],
"rawHeaders": [
"server",
"GitHub.com",
"date",
"Tue, 01 Dec 2020 02:59:09 GMT",
"Thu, 24 Dec 2020 11:27:31 GMT",
"content-type",
"application/json; charset=utf-8",
"server",
"GitHub.com",
"status",
"404 Not Found",
"x-github-media-type",
Expand Down Expand Up @@ -44,15 +44,15 @@
"X-Ratelimit-Remaining",
"57",
"X-Ratelimit-Reset",
"1606795148",
"1608812850",
"X-Ratelimit-Used",
"3",
"Content-Length",
"118",
"Connection",
"close",
"X-GitHub-Request-Id",
"CA9E:5D61:8A72E:156B3D:5FC5B17D"
"8861:42FA:3BA8B6:4AD96F:5FE47B23"
]
}
]
42 changes: 11 additions & 31 deletions frontend/packages/git-service/src/services/bitbucket-service.ts
Expand Up @@ -87,8 +87,8 @@ export class BitbucketService extends BaseService {
}
};

isDockerfilePresent = async (): Promise<boolean> => {
const url = `${this.baseURL}/repositories/${this.metadata.owner}/${this.metadata.repoName}/src/${this.metadata.defaultBranch}/${this.metadata.contextDir}/Dockerfile`;
isFilePresent = async (path: string): Promise<boolean> => {
const url = `${this.baseURL}/repositories/${this.metadata.owner}/${this.metadata.repoName}/src/${this.metadata.defaultBranch}/${path}`;
try {
await coFetchJSON(url);
return true;
Expand All @@ -97,8 +97,8 @@ export class BitbucketService extends BaseService {
}
};

getDockerfileContent = async (): Promise<string | null> => {
const url = `${this.baseURL}/repositories/${this.metadata.owner}/${this.metadata.repoName}/src/${this.metadata.defaultBranch}/${this.metadata.contextDir}/Dockerfile`;
getFileContent = async (path: string): Promise<string | null> => {
const url = `${this.baseURL}/repositories/${this.metadata.owner}/${this.metadata.repoName}/src/${this.metadata.defaultBranch}/${path}`;
try {
const data = await coFetchJSON(url);
return data as string;
Expand All @@ -107,33 +107,13 @@ export class BitbucketService extends BaseService {
}
};

isDevfilePresent = async (): Promise<boolean> => {
const url = `${this.baseURL}/repositories/${this.metadata.owner}/${this.metadata.repoName}/src/${this.metadata.defaultBranch}/devfile.yaml`;
try {
await coFetchJSON(url);
return true;
} catch (e) {
return false;
}
};
isDockerfilePresent = () => this.isFilePresent(`${this.metadata.contextDir}/Dockerfile`);

getDevfileContent = async (): Promise<string | null> => {
const url = `${this.baseURL}/repositories/${this.metadata.owner}/${this.metadata.repoName}/src/${this.metadata.defaultBranch}/devfile.yaml`;
try {
const data = await coFetchJSON(url);
return data as string;
} catch (e) {
return null;
}
};
getDockerfileContent = () => this.getFileContent(`${this.metadata.contextDir}/Dockerfile`);

getPackageJsonContent = async (): Promise<string | null> => {
const url = `${this.baseURL}/repositories/${this.metadata.owner}/${this.metadata.repoName}/src/${this.metadata.defaultBranch}/${this.metadata.contextDir}/package.json`;
try {
const data = await coFetchJSON(url);
return data as string;
} catch (e) {
return null;
}
};
isDevfilePresent = () => this.isFilePresent(`${this.metadata.contextDir}/devfile.yaml`);

getDevfileContent = () => this.getFileContent(`${this.metadata.contextDir}/devfile.yaml`);

getPackageJsonContent = () => this.getFileContent(`${this.metadata.contextDir}/package.json`);
}

0 comments on commit ef9ca72

Please sign in to comment.