diff --git a/dbrepo-analyse-service/Pipfile.lock b/dbrepo-analyse-service/Pipfile.lock index ec9b5f13d4f8fcf78aad41dda5c26f4a00affee3..f177d904cb25228548dbc3ee5e0bef46919d6698 100644 --- a/dbrepo-analyse-service/Pipfile.lock +++ b/dbrepo-analyse-service/Pipfile.lock @@ -175,20 +175,20 @@ }, "boto3": { "hashes": [ - "sha256:76cfc9a705be46e8d22607efacc8d688c064f923d785a01c00b28e9a96425d1a", - "sha256:fde1c29996b77274a60b7bc9f741525afa6267bb1716eb644a764fb7c124a0d2" + "sha256:53a5307f6a3526ee2f8590e3c45efa504a3ea4532c1bfe4926c0c19bf188d141", + "sha256:f9843a5d06f501d66ada06f5a5417f671823af2cf319e36ceefa1bafaaaaa953" ], "index": "pypi", "markers": "python_version >= '3.8'", - "version": "==1.36.2" + "version": "==1.36.3" }, "botocore": { "hashes": [ - "sha256:a1fe6610983f0214b0c7655fe6990b6a731746baf305b182976fc7b568fc3cb0", - "sha256:bc3b7e3b573a48af2bd7116b80fe24f9a335b0b67314dcb2697a327d009abf29" + "sha256:536ab828e6f90dbb000e3702ac45fd76642113ae2db1b7b1373ad24104e89255", + "sha256:775b835e979da5c96548ed1a0b798101a145aec3cd46541d62e27dda5a94d7f8" ], "markers": "python_version >= '3.8'", - "version": "==1.36.2" + "version": "==1.36.3" }, "certifi": { "hashes": [ @@ -412,7 +412,7 @@ }, "dbrepo": { "hashes": [ - "sha256:19c6bbcf9461e20681f0fb342087c618a91123d2d04d4df2f4fd1da80aa77b76" + "sha256:a41ca60353510cbecf8fb647cf2483acb100258743794a16bc8ad6f8e9ea4481" ], "path": "./lib/dbrepo-1.6.2.tar.gz" }, @@ -1601,11 +1601,11 @@ }, "tzdata": { "hashes": [ - "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc", - "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd" + "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", + "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639" ], "markers": "python_version >= '2'", - "version": "==2024.2" + "version": "==2025.1" }, "urllib3": { "hashes": [ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.6.2-py3-none-any.whl b/dbrepo-analyse-service/lib/dbrepo-1.6.2-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..24256263e2fb3156ac0eea01079116e4b40e36fd Binary files /dev/null and b/dbrepo-analyse-service/lib/dbrepo-1.6.2-py3-none-any.whl differ diff --git a/dbrepo-analyse-service/lib/dbrepo-1.6.2.tar.gz b/dbrepo-analyse-service/lib/dbrepo-1.6.2.tar.gz index 02ed2aec31c2b1881165a12d45060ed4a311192d..2ae1ea50b1610050f5bd5746f7e9596b1c483c9d 100644 Binary files a/dbrepo-analyse-service/lib/dbrepo-1.6.2.tar.gz and b/dbrepo-analyse-service/lib/dbrepo-1.6.2.tar.gz differ diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/MetadataServiceGatewayImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/MetadataServiceGatewayImpl.java index 57d6ffab7ccf87336066e0a8c5b9ec700434099f..4dcfaf13a288c0d6c2415227552257396e450612 100644 --- a/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/MetadataServiceGatewayImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/tuwien/gateway/impl/MetadataServiceGatewayImpl.java @@ -100,7 +100,7 @@ public class MetadataServiceGatewayImpl implements MetadataServiceGateway { log.error("Failed to find database with id {}: service responded unsuccessful: {}", id, response.getStatusCode()); throw new MetadataServiceException("Failed to find database: service responded unsuccessful: " + response.getStatusCode()); } - final List<String> expectedHeaders = List.of("X-Username", "X-Password", "X-Host", "X-Port"); + final List<String> expectedHeaders = List.of("X-Username", "X-Password", "X-Host", "X-Port", "X-Type"); if (!response.getHeaders().keySet().containsAll(expectedHeaders)) { log.error("Failed to find all database headers"); log.debug("expected headers: {}", expectedHeaders); @@ -112,10 +112,11 @@ public class MetadataServiceGatewayImpl implements MetadataServiceGateway { throw new MetadataServiceException("Failed to find database with id " + id + ": body is empty"); } final DatabaseDto database = response.getBody(); - database.getContainer().setUsername(response.getHeaders().get("X-Username").get(0)); - database.getContainer().setPassword(response.getHeaders().get("X-Password").get(0)); - database.getContainer().setHost(response.getHeaders().get("X-Host").get(0)); - database.getContainer().setPort(Integer.parseInt(response.getHeaders().get("X-Port").get(0))); + database.setJdbcMethod(response.getHeaders().get("X-Type").get(0)); + database.setUsername(response.getHeaders().get("X-Username").get(0)); + database.setPassword(response.getHeaders().get("X-Password").get(0)); + database.setHost(response.getHeaders().get("X-Host").get(0)); + database.setPort(Integer.parseInt(response.getHeaders().get("X-Port").get(0))); database.setLastRetrieved(Instant.now()); return database; } @@ -139,7 +140,7 @@ public class MetadataServiceGatewayImpl implements MetadataServiceGateway { log.error("Failed to find table with id {}: service responded unsuccessful: {}", id, response.getStatusCode()); throw new MetadataServiceException("Failed to find table: service responded unsuccessful: " + response.getStatusCode()); } - final List<String> expectedHeaders = List.of("X-Type", "X-Host", "X-Port", "X-Username", "X-Password", "X-Database", "X-Table"); + final List<String> expectedHeaders = List.of("X-Type", "X-Host", "X-Port", "X-Username", "X-Password", "X-Database", "X-Table", "X-Type"); if (!response.getHeaders().keySet().containsAll(expectedHeaders)) { log.error("Failed to find all table headers"); log.debug("expected headers: {}", expectedHeaders); @@ -181,7 +182,7 @@ public class MetadataServiceGatewayImpl implements MetadataServiceGateway { log.error("Failed to find view with id {}: service responded unsuccessful: {}", id, response.getStatusCode()); throw new MetadataServiceException("Failed to find view: service responded unsuccessful: " + response.getStatusCode()); } - final List<String> expectedHeaders = List.of("X-Type", "X-Host", "X-Port", "X-Username", "X-Password", "X-Database", "X-View"); + final List<String> expectedHeaders = List.of("X-Type", "X-Host", "X-Port", "X-Username", "X-Password", "X-Database", "X-View", "X-Type"); if (!response.getHeaders().keySet().containsAll(expectedHeaders)) { log.error("Failed to find all view headers"); log.debug("expected headers: {}", expectedHeaders); diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DataConnector.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DataConnector.java index 9fbee30fa6b91df13075d2895ab3921e36893dc8..1044869ad873b2eae3b1dd1ea8f92b19857dbd49 100644 --- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DataConnector.java +++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DataConnector.java @@ -12,7 +12,7 @@ public abstract class DataConnector<T extends CacheableDto> { public ComboPooledDataSource getDataSource(T entity) { final long start = System.currentTimeMillis(); final ComboPooledDataSource dataSource = new ComboPooledDataSource(); - dataSource.setJdbcUrl(getJdbcUrl(entity.getJdbcMethod(), entity.getHost(), entity.getPassword(), + dataSource.setJdbcUrl(getJdbcUrl(entity.getJdbcMethod(), entity.getHost(), entity.getPort(), entity.getDatabase())); dataSource.setUser(entity.getUsername()); dataSource.setPassword(entity.getPassword()); @@ -27,7 +27,7 @@ public abstract class DataConnector<T extends CacheableDto> { public ComboPooledDataSource getDataSource(T entity, String databaseName) { final long start = System.currentTimeMillis(); final ComboPooledDataSource dataSource = new ComboPooledDataSource(); - dataSource.setJdbcUrl(getJdbcUrl(entity.getJdbcMethod(), entity.getHost(), entity.getPassword(), databaseName)); + dataSource.setJdbcUrl(getJdbcUrl(entity.getJdbcMethod(), entity.getHost(), entity.getPort(), databaseName)); dataSource.setUser(entity.getUsername()); dataSource.setPassword(entity.getPassword()); dataSource.setInitialPoolSize(5); @@ -38,24 +38,24 @@ public abstract class DataConnector<T extends CacheableDto> { return dataSource; } - public String getSparkUrl(String jdbcMethod, String host, String password, String databaseName) { - final StringBuilder sb = new StringBuilder(getJdbcUrl(jdbcMethod, host, password, databaseName)) + public String getSparkUrl(String jdbcMethod, String host, Integer port, String databaseName) { + final StringBuilder sb = new StringBuilder(getJdbcUrl(jdbcMethod, host, port, databaseName)) .append("?sessionVariables=sql_mode='ANSI_QUOTES'"); log.trace("mapped container to spark url: {}", sb.toString()); return sb.toString(); } public String getSparkUrl(T entity) { - return getSparkUrl(entity.getJdbcMethod(), entity.getHost(), entity.getPassword(), entity.getDatabase()); + return getSparkUrl(entity.getJdbcMethod(), entity.getHost(), entity.getPort(), entity.getDatabase()); } - public String getJdbcUrl(String jdbcMethod, String host, String password, String databaseName) { + public String getJdbcUrl(String jdbcMethod, String host, Integer port, String databaseName) { final StringBuilder stringBuilder = new StringBuilder("jdbc:") .append(jdbcMethod) .append("://") .append(host) .append(":") - .append(password); + .append(port); if (databaseName != null) { stringBuilder.append("/") .append(databaseName); diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceMariaDbImpl.java index 2b5af71d1c98d51d656fecb1f32430c7baae1c96..cfe43d8f8fdadbdc8e4eb3d1e316806681e47b74 100644 --- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/DatabaseServiceMariaDbImpl.java @@ -13,13 +13,10 @@ import at.tuwien.mapper.DataMapper; import at.tuwien.mapper.MariaDbMapper; import at.tuwien.mapper.MetadataMapper; import at.tuwien.service.DatabaseService; -import at.tuwien.service.TableService; -import at.tuwien.service.ViewService; import com.google.common.hash.Hashing; import com.mchange.v2.c3p0.ComboPooledDataSource; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.stereotype.Service; import java.nio.charset.StandardCharsets; @@ -36,19 +33,14 @@ public class DatabaseServiceMariaDbImpl extends DataConnector<DatabaseDto> imple private final DataMapper dataMapper; private final QueryConfig queryConfig; - private final ViewService viewService; - private final TableService tableService; private final MariaDbMapper mariaDbMapper; private final MetadataMapper metadataMapper; @Autowired - public DatabaseServiceMariaDbImpl(DataMapper dataMapper, QueryConfig queryConfig, ViewService viewService, - TableService tableService, MariaDbMapper mariaDbMapper, - @Qualifier("metadataMapper") MetadataMapper metadataMapper) { + public DatabaseServiceMariaDbImpl(DataMapper dataMapper, QueryConfig queryConfig, MariaDbMapper mariaDbMapper, + MetadataMapper metadataMapper) { this.dataMapper = dataMapper; this.queryConfig = queryConfig; - this.viewService = viewService; - this.tableService = tableService; this.mariaDbMapper = mariaDbMapper; this.metadataMapper = metadataMapper; } diff --git a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/TableServiceMariaDbImpl.java b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/TableServiceMariaDbImpl.java index 6586c8ba42669dfc63d6b5c70aaaf84559a1b634..68fb59cb5e02969e94553d4109b7ca141f07d67d 100644 --- a/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/TableServiceMariaDbImpl.java +++ b/dbrepo-data-service/services/src/main/java/at/tuwien/service/impl/TableServiceMariaDbImpl.java @@ -374,10 +374,10 @@ public class TableServiceMariaDbImpl extends DataConnector<TableDto> implements throws QueryMalformedException, TableNotFoundException { try { final Properties properties = new Properties(); - properties.setProperty("user", database.getContainer().getUsername()); - properties.setProperty("password", database.getContainer().getPassword()); + properties.setProperty("user", database.getUsername()); + properties.setProperty("password", database.getPassword()); return sparkSession.read() - .jdbc(getSparkUrl(database.getJdbcMethod(), database.getHost(), database.getPassword(), + .jdbc(getSparkUrl(database.getJdbcMethod(), database.getHost(), database.getPort(), database.getInternalName()), tableOrView, properties); } catch (Exception e) { if (e instanceof ExtendedAnalysisException exception) { @@ -386,8 +386,8 @@ public class TableServiceMariaDbImpl extends DataConnector<TableDto> implements throw new TableNotFoundException("Failed to find named reference: " + exception.getSimpleMessage()) /* remove throwable on purpose, clutters the output */; } } - log.error("Failed to find get data from query statement: {}", e.getMessage()); - throw new QueryMalformedException("Failed to find get data from query statement: " + e.getMessage(), e); + log.error("Malformed query: {}", e.getMessage()); + throw new QueryMalformedException("Malformed query: " + e.getMessage(), e); } } diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java index 7e0320248049b800d26d2f81b98a736bde31c6ca..194f79d2554748750eac2ee90d01846f1ca64a8f 100644 --- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java +++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/endpoints/DatabaseEndpoint.java @@ -551,6 +551,7 @@ public class DatabaseEndpoint extends AbstractEndpoint { headers.set("X-Password", database.getContainer().getPrivilegedPassword()); headers.set("X-Host", database.getContainer().getHost()); headers.set("X-Port", "" + database.getContainer().getPort()); + headers.set("X-Type", database.getContainer().getImage().getJdbcMethod()); headers.set("Access-Control-Expose-Headers", "X-Username X-Password X-Host X-Port"); } return ResponseEntity.status(HttpStatus.OK) diff --git a/dbrepo-search-service/Pipfile.lock b/dbrepo-search-service/Pipfile.lock index 8362cd2df3676640ad25e045008240c21b77ce05..d75a0069a1a39cd64ff953624e9bbb8adb61c78a 100644 --- a/dbrepo-search-service/Pipfile.lock +++ b/dbrepo-search-service/Pipfile.lock @@ -360,7 +360,7 @@ }, "dbrepo": { "hashes": [ - "sha256:19c6bbcf9461e20681f0fb342087c618a91123d2d04d4df2f4fd1da80aa77b76" + "sha256:a41ca60353510cbecf8fb647cf2483acb100258743794a16bc8ad6f8e9ea4481" ], "path": "./lib/dbrepo-1.6.2.tar.gz" }, @@ -1574,11 +1574,11 @@ }, "tzdata": { "hashes": [ - "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc", - "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd" + "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", + "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639" ], "markers": "python_version >= '2'", - "version": "==2024.2" + "version": "==2025.1" }, "urllib3": { "hashes": [ diff --git a/dbrepo-search-service/init/Pipfile.lock b/dbrepo-search-service/init/Pipfile.lock index e72262e85d16a2c3518981d7efedd2b7c791a368..e4a2e7d71877f6d44a929b2e344390bbf1117db0 100644 --- a/dbrepo-search-service/init/Pipfile.lock +++ b/dbrepo-search-service/init/Pipfile.lock @@ -254,7 +254,7 @@ }, "dbrepo": { "hashes": [ - "sha256:19c6bbcf9461e20681f0fb342087c618a91123d2d04d4df2f4fd1da80aa77b76" + "sha256:a41ca60353510cbecf8fb647cf2483acb100258743794a16bc8ad6f8e9ea4481" ], "path": "./lib/dbrepo-1.6.2.tar.gz" }, @@ -1027,11 +1027,11 @@ }, "tzdata": { "hashes": [ - "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc", - "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd" + "sha256:24894909e88cdb28bd1636c6887801df64cb485bd593f2fd83ef29075a81d694", + "sha256:7e127113816800496f027041c570f50bcd464a020098a3b6b199517772303639" ], "markers": "python_version >= '2'", - "version": "==2024.2" + "version": "==2025.1" }, "urllib3": { "hashes": [ diff --git a/dbrepo-search-service/init/lib/dbrepo-1.6.2-py3-none-any.whl b/dbrepo-search-service/init/lib/dbrepo-1.6.2-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..24256263e2fb3156ac0eea01079116e4b40e36fd Binary files /dev/null and b/dbrepo-search-service/init/lib/dbrepo-1.6.2-py3-none-any.whl differ diff --git a/dbrepo-search-service/init/lib/dbrepo-1.6.2.tar.gz b/dbrepo-search-service/init/lib/dbrepo-1.6.2.tar.gz index 02ed2aec31c2b1881165a12d45060ed4a311192d..2ae1ea50b1610050f5bd5746f7e9596b1c483c9d 100644 Binary files a/dbrepo-search-service/init/lib/dbrepo-1.6.2.tar.gz and b/dbrepo-search-service/init/lib/dbrepo-1.6.2.tar.gz differ diff --git a/dbrepo-search-service/lib/dbrepo-1.6.2-py3-none-any.whl b/dbrepo-search-service/lib/dbrepo-1.6.2-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..24256263e2fb3156ac0eea01079116e4b40e36fd Binary files /dev/null and b/dbrepo-search-service/lib/dbrepo-1.6.2-py3-none-any.whl differ diff --git a/dbrepo-search-service/lib/dbrepo-1.6.2.tar.gz b/dbrepo-search-service/lib/dbrepo-1.6.2.tar.gz index 02ed2aec31c2b1881165a12d45060ed4a311192d..2ae1ea50b1610050f5bd5746f7e9596b1c483c9d 100644 Binary files a/dbrepo-search-service/lib/dbrepo-1.6.2.tar.gz and b/dbrepo-search-service/lib/dbrepo-1.6.2.tar.gz differ diff --git a/dbrepo-ui/components/dialogs/EditTuple.vue b/dbrepo-ui/components/dialogs/EditTuple.vue index 3290d230d1bf216bd2f212c4fbe9c683901e4b96..75e824ed4316bad96843a57694b245d4caf01682 100644 --- a/dbrepo-ui/components/dialogs/EditTuple.vue +++ b/dbrepo-ui/components/dialogs/EditTuple.vue @@ -3,7 +3,7 @@ <v-form ref="form" v-model="valid" - @submit.prevent="submit"> + @submit.prevent="validate"> <v-card :title="title" :subtitle="this.$t('toolbars.table.data.subtitle')" @@ -17,12 +17,10 @@ <v-text-field v-if="isNumber(column)" v-model.number="tuple[column.internal_name]" - :disabled="!edit" persistent-hint :variant="inputVariant" :label="column.internal_name" :hint="hint(column)" - :rules="rules(column)" :required="required(column)" type="number"> <template @@ -48,11 +46,9 @@ <v-text-field v-if="isTextField(column)" v-model="tuple[column.internal_name]" - :disabled="disabled(column)" :clearable="!required(column)" :counter="maxLength(column) !== null" :maxlength="maxLength(column)" - :rules="rules(column)" :required="required(column)" persistent-hint :variant="inputVariant" @@ -82,10 +78,8 @@ <v-text-field v-if="isFloatingPoint(column)" v-model="tuple[column.internal_name]" - :disabled="disabled(column)" step=".1" :clearable="!required(column)" - :rules="rules(column)" :required="required(column)" persistent-hint :variant="inputVariant" @@ -115,10 +109,8 @@ <v-textarea v-if="isTextArea(column)" v-model="tuple[column.internal_name]" - :disabled="disabled(column)" rows="3" :clearable="!required(column)" - :rules="rules(column)" :required="required(column)" persistent-hint :variant="inputVariant" @@ -155,7 +147,6 @@ :variant="inputVariant" :label="column.internal_name" :hint="hint(column)" - :rules="rules(column)" :required="required(column)" :clearable="!required(column)" :items="isSet(column) ? column.sets : column.enums"> @@ -186,7 +177,6 @@ :variant="inputVariant" :label="column.internal_name" :hint="hint(column)" - :rules="rules(column)" :required="required(column)" :items="bools" :clearable="!required(column)"> @@ -322,10 +312,10 @@ export default { cacheStore: useCacheStore() } }, - mounted() { + mounted () { this.fetchContainer() - this.$refs.form.validate() this.oldTuple = Object.assign({}, this.tuple) + this.validate() }, computed: { database () { @@ -358,8 +348,17 @@ export default { return this.$vuetify.theme.global.name.toLowerCase().endsWith('contrast') ? runtimeConfig.public.variant.button.contrast : runtimeConfig.public.variant.button.normal } }, + watch: { + tuple: { + handler () { + this.validate() + }, + deep: true + } + }, methods: { - submit () { + validate () { + console.debug('validate form') this.$refs.form.validate() }, cancel () { @@ -425,18 +424,6 @@ export default { isTimeField (column) { return ['date', 'datetime', 'timestamp', 'time', 'year'].includes(column.type) }, - rules (column) { - if (column.is_null_allowed) { - return [] - } - const rules = [] - rules.push(v => v !== null || this.$t('validation.required')) - if (column.type === 'decimal' || column.type === 'double') { - rules.push(v => !(!v || v.split('.')[0].length > column.size) || `${this.$t('pages.table.subpages.data.float.max')} ${column.size} ${this.$t('pages.table.subpages.data.float.before')}`) - rules.push(v => !(!v || (column.d && v.split('.')[1].length > column.d)) || `${this.$t('pages.table.subpages.data.float.max')} ${column.d} ${this.$t('pages.table.subpages.data.float.after')}`) - } - return rules - }, maxLength (column) { if (!this.isTextField(column) || column.size === null) { return null @@ -446,9 +433,6 @@ export default { required (column) { return column.is_null_allowed === false }, - disabled (column) { - return (this.edit && column.is_primary_key) || !this.edit - }, updateTuple () { const constraints = {} this.primaryKeyColumns diff --git a/make/build.mk b/make/build.mk index 7311ed27167f72e4ffa4b8b7659127b90679d471..bc6dfc56a7421b53c6ad02f5bd4518f5f6b614ab 100644 --- a/make/build.mk +++ b/make/build.mk @@ -20,16 +20,16 @@ build-ui: ## Build the UI. .PHONY: build-lib build-lib: ## Build the Python Library. - rm -f ./dbrepo-analyse-service/lib/dbrepo-${APP_VERSION}.tar.gz - rm -f ./dbrepo-search-service/lib/dbrepo-${APP_VERSION}.tar.gz - rm -f ./dbrepo-search-service/init/lib/dbrepo-${APP_VERSION}.tar.gz + rm -f ./dbrepo-analyse-service/Pipfile.lock ./dbrepo-analyse-service/lib/dbrepo-${APP_VERSION}* + rm -f ./dbrepo-search-service/Pipfile.lock ./dbrepo-search-service/lib/dbrepo-${APP_VERSION}* + rm -f ./dbrepo-search-service/init/Pipfile.lock ./dbrepo-search-service/init/lib/dbrepo-${APP_VERSION}* python3 -m build --sdist ./lib/python python3 -m build --wheel ./lib/python - cp ./lib/python/dist/dbrepo-${APP_VERSION}.tar.gz ./dbrepo-analyse-service/lib/dbrepo-${APP_VERSION}.tar.gz + cp -r ./lib/python/dist/dbrepo-${APP_VERSION}* ./dbrepo-analyse-service/lib (cd ./dbrepo-analyse-service && PIPENV_IGNORE_VIRTUALENVS=1 pipenv lock) - cp ./lib/python/dist/dbrepo-${APP_VERSION}.tar.gz ./dbrepo-search-service/lib/dbrepo-${APP_VERSION}.tar.gz + cp -r ./lib/python/dist/dbrepo-${APP_VERSION}* ./dbrepo-search-service/lib (cd ./dbrepo-search-service && PIPENV_IGNORE_VIRTUALENVS=1 pipenv lock) - cp ./lib/python/dist/dbrepo-${APP_VERSION}.tar.gz ./dbrepo-search-service/init/lib/dbrepo-${APP_VERSION}.tar.gz + cp -r ./lib/python/dist/dbrepo-${APP_VERSION}* ./dbrepo-search-service/init/lib (cd ./dbrepo-search-service/init && PIPENV_IGNORE_VIRTUALENVS=1 pipenv lock) .PHONY: build-helm