pkg(file-0.0.1): Run executable

This commit is contained in:
Brikaa 2021-10-15 14:25:33 +02:00
parent 85cba0d89d
commit 64833a0408
8 changed files with 34 additions and 11 deletions

View File

@ -87,15 +87,6 @@ function get_job(body) {
} }
} }
if (
files.filter(file => !file.encoding || file.encoding === 'utf8')
.length === 0
) {
return reject({
message: 'files must include at least one utf8 encoded file',
});
}
const rt = runtime.get_latest_runtime_matching_language_version( const rt = runtime.get_latest_runtime_matching_language_version(
language, language,
version version
@ -106,6 +97,16 @@ function get_job(body) {
}); });
} }
if (
rt.language !== 'file' &&
files.filter(file => !file.encoding || file.encoding === 'utf8')
.length === 0
) {
return reject({
message: 'files must include at least one utf8 encoded file',
});
}
for (const constraint of ['memory_limit', 'timeout']) { for (const constraint of ['memory_limit', 'timeout']) {
for (const type of ['compile', 'run']) { for (const type of ['compile', 'run']) {
const constraint_name = `${type}_${constraint}`; const constraint_name = `${type}_${constraint}`;

View File

@ -222,7 +222,9 @@ class Job {
} runtime=${this.runtime.toString()}` } runtime=${this.runtime.toString()}`
); );
const code_files = this.files.filter(file => file.encoding == 'utf8'); const code_files =
(this.runtime.language === 'file' && this.files) ||
this.files.filter(file => file.encoding == 'utf8');
logger.debug('Compiling'); logger.debug('Compiling');
@ -270,7 +272,9 @@ class Job {
} gid=${this.gid} runtime=${this.runtime.toString()}` } gid=${this.gid} runtime=${this.runtime.toString()}`
); );
const code_files = this.files.filter(file => file.encoding == 'utf8'); const code_files =
(this.runtime.language === 'file' && this.files) ||
this.files.filter(file => file.encoding == 'utf8');
if (this.runtime.compiled) { if (this.runtime.compiled) {
eventBus.emit('stage', 'compile'); eventBus.emit('stage', 'compile');

3
packages/file/0.0.1/build.sh vendored Executable file
View File

@ -0,0 +1,3 @@
#!/bin/bash
# Nothing to do here

3
packages/file/0.0.1/environment vendored Normal file
View File

@ -0,0 +1,3 @@
#!/bin/bash
export PATH=$PWD:$PATH

5
packages/file/0.0.1/metadata.json vendored Normal file
View File

@ -0,0 +1,5 @@
{
"language": "file",
"version": "0.0.1",
"aliases": ["executable", "elf", "binary"]
}

6
packages/file/0.0.1/run vendored Normal file
View File

@ -0,0 +1,6 @@
#!/bin/bash
filename="$1"
chmod +x "$filename"
shift
./"$filename" "$@"

BIN
packages/file/0.0.1/test.file vendored Executable file

Binary file not shown.

View File

@ -341,6 +341,7 @@ Content-Type: application/json
`elixir`, `elixir`,
`emacs`, `emacs`,
`erlang`, `erlang`,
`file`,
`forte`, `forte`,
`fortran`, `fortran`,
`freebasic`, `freebasic`,