Showing
135 changed files
with
887 additions
and
3051 deletions
... | ... | @@ -34,10 +34,15 @@ |
34 | 34 | <properties> |
35 | 35 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
36 | 36 | <main.dir>${basedir}/..</main.dir> |
37 | + <pkg.type>java</pkg.type> | |
38 | + <pkg.disabled>false</pkg.disabled> | |
39 | + <pkg.process-resources.phase>process-resources</pkg.process-resources.phase> | |
40 | + <pkg.package.phase>package</pkg.package.phase> | |
37 | 41 | <pkg.name>thingsboard</pkg.name> |
38 | - <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | |
39 | - <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | |
40 | 42 | <pkg.win.dist>${project.build.directory}/windows</pkg.win.dist> |
43 | + <pkg.copyInstallScripts>true</pkg.copyInstallScripts> | |
44 | + <pkg.implementationTitle>ThingsBoard</pkg.implementationTitle> | |
45 | + <pkg.mainClass>org.thingsboard.server.ThingsboardServerApplication</pkg.mainClass> | |
41 | 46 | </properties> |
42 | 47 | |
43 | 48 | <dependencies> |
... | ... | @@ -315,6 +320,10 @@ |
315 | 320 | <plugins> |
316 | 321 | <plugin> |
317 | 322 | <groupId>org.apache.maven.plugins</groupId> |
323 | + <artifactId>maven-compiler-plugin</artifactId> | |
324 | + </plugin> | |
325 | + <plugin> | |
326 | + <groupId>org.apache.maven.plugins</groupId> | |
318 | 327 | <artifactId>maven-surefire-plugin</artifactId> |
319 | 328 | <version>${surfire.version}</version> |
320 | 329 | <configuration> |
... | ... | @@ -329,313 +338,30 @@ |
329 | 338 | <plugin> |
330 | 339 | <groupId>org.apache.maven.plugins</groupId> |
331 | 340 | <artifactId>maven-resources-plugin</artifactId> |
332 | - <executions> | |
333 | - <execution> | |
334 | - <id>copy-conf</id> | |
335 | - <phase>process-resources</phase> | |
336 | - <goals> | |
337 | - <goal>copy-resources</goal> | |
338 | - </goals> | |
339 | - <configuration> | |
340 | - <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
341 | - <resources> | |
342 | - <resource> | |
343 | - <directory>src/main/resources</directory> | |
344 | - <excludes> | |
345 | - <exclude>logback.xml</exclude> | |
346 | - </excludes> | |
347 | - <filtering>false</filtering> | |
348 | - </resource> | |
349 | - </resources> | |
350 | - </configuration> | |
351 | - </execution> | |
352 | - <execution> | |
353 | - <id>copy-service-conf</id> | |
354 | - <phase>process-resources</phase> | |
355 | - <goals> | |
356 | - <goal>copy-resources</goal> | |
357 | - </goals> | |
358 | - <configuration> | |
359 | - <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
360 | - <resources> | |
361 | - <resource> | |
362 | - <directory>src/main/conf</directory> | |
363 | - <filtering>true</filtering> | |
364 | - </resource> | |
365 | - </resources> | |
366 | - <filters> | |
367 | - <filter>src/main/filters/unix.properties</filter> | |
368 | - </filters> | |
369 | - </configuration> | |
370 | - </execution> | |
371 | - <execution> | |
372 | - <id>copy-win-conf</id> | |
373 | - <phase>process-resources</phase> | |
374 | - <goals> | |
375 | - <goal>copy-resources</goal> | |
376 | - </goals> | |
377 | - <configuration> | |
378 | - <outputDirectory>${pkg.win.dist}/conf</outputDirectory> | |
379 | - <resources> | |
380 | - <resource> | |
381 | - <directory>src/main/resources</directory> | |
382 | - <excludes> | |
383 | - <exclude>logback.xml</exclude> | |
384 | - </excludes> | |
385 | - <filtering>false</filtering> | |
386 | - </resource> | |
387 | - <resource> | |
388 | - <directory>src/main/conf</directory> | |
389 | - <excludes> | |
390 | - <exclude>thingsboard.conf</exclude> | |
391 | - </excludes> | |
392 | - <filtering>true</filtering> | |
393 | - </resource> | |
394 | - </resources> | |
395 | - <filters> | |
396 | - <filter>src/main/filters/windows.properties</filter> | |
397 | - </filters> | |
398 | - </configuration> | |
399 | - </execution> | |
400 | - <execution> | |
401 | - <id>copy-control</id> | |
402 | - <phase>process-resources</phase> | |
403 | - <goals> | |
404 | - <goal>copy-resources</goal> | |
405 | - </goals> | |
406 | - <configuration> | |
407 | - <outputDirectory>${project.build.directory}/control</outputDirectory> | |
408 | - <resources> | |
409 | - <resource> | |
410 | - <directory>src/main/scripts/control</directory> | |
411 | - <filtering>true</filtering> | |
412 | - </resource> | |
413 | - </resources> | |
414 | - <filters> | |
415 | - <filter>src/main/filters/unix.properties</filter> | |
416 | - </filters> | |
417 | - </configuration> | |
418 | - </execution> | |
419 | - <execution> | |
420 | - <id>copy-install</id> | |
421 | - <phase>process-resources</phase> | |
422 | - <goals> | |
423 | - <goal>copy-resources</goal> | |
424 | - </goals> | |
425 | - <configuration> | |
426 | - <outputDirectory>${project.build.directory}/bin/install</outputDirectory> | |
427 | - <resources> | |
428 | - <resource> | |
429 | - <directory>src/main/scripts/install</directory> | |
430 | - <includes> | |
431 | - <include>**/*.sh</include> | |
432 | - <include>**/*.xml</include> | |
433 | - </includes> | |
434 | - <filtering>true</filtering> | |
435 | - </resource> | |
436 | - </resources> | |
437 | - <filters> | |
438 | - <filter>src/main/filters/unix.properties</filter> | |
439 | - </filters> | |
440 | - </configuration> | |
441 | - </execution> | |
442 | - <execution> | |
443 | - <id>copy-windows-control</id> | |
444 | - <phase>process-resources</phase> | |
445 | - <goals> | |
446 | - <goal>copy-resources</goal> | |
447 | - </goals> | |
448 | - <configuration> | |
449 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
450 | - <resources> | |
451 | - <resource> | |
452 | - <directory>src/main/scripts/windows</directory> | |
453 | - <filtering>true</filtering> | |
454 | - </resource> | |
455 | - </resources> | |
456 | - <filters> | |
457 | - <filter>src/main/filters/windows.properties</filter> | |
458 | - </filters> | |
459 | - </configuration> | |
460 | - </execution> | |
461 | - <execution> | |
462 | - <id>copy-windows-install</id> | |
463 | - <phase>process-resources</phase> | |
464 | - <goals> | |
465 | - <goal>copy-resources</goal> | |
466 | - </goals> | |
467 | - <configuration> | |
468 | - <outputDirectory>${pkg.win.dist}/install</outputDirectory> | |
469 | - <resources> | |
470 | - <resource> | |
471 | - <directory>src/main/scripts/install</directory> | |
472 | - <includes> | |
473 | - <include>logback.xml</include> | |
474 | - </includes> | |
475 | - <filtering>true</filtering> | |
476 | - </resource> | |
477 | - </resources> | |
478 | - <filters> | |
479 | - <filter>src/main/filters/windows.properties</filter> | |
480 | - </filters> | |
481 | - </configuration> | |
482 | - </execution> | |
483 | - <execution> | |
484 | - <id>copy-data</id> | |
485 | - <phase>process-resources</phase> | |
486 | - <goals> | |
487 | - <goal>copy-resources</goal> | |
488 | - </goals> | |
489 | - <configuration> | |
490 | - <outputDirectory>${project.build.directory}/data</outputDirectory> | |
491 | - <resources> | |
492 | - <resource> | |
493 | - <directory>src/main/data</directory> | |
494 | - </resource> | |
495 | - <resource> | |
496 | - <directory>../dao/src/main/resources</directory> | |
497 | - <includes> | |
498 | - <include>**/*.cql</include> | |
499 | - <include>**/*.sql</include> | |
500 | - </includes> | |
501 | - <filtering>false</filtering> | |
502 | - </resource> | |
503 | - </resources> | |
504 | - </configuration> | |
505 | - </execution> | |
506 | - </executions> | |
507 | 341 | </plugin> |
508 | 342 | <plugin> |
509 | 343 | <groupId>org.apache.maven.plugins</groupId> |
510 | 344 | <artifactId>maven-dependency-plugin</artifactId> |
511 | - <executions> | |
512 | - <execution> | |
513 | - <id>copy-winsw-service</id> | |
514 | - <phase>package</phase> | |
515 | - <goals> | |
516 | - <goal>copy</goal> | |
517 | - </goals> | |
518 | - <configuration> | |
519 | - <artifactItems> | |
520 | - <artifactItem> | |
521 | - <groupId>com.sun.winsw</groupId> | |
522 | - <artifactId>winsw</artifactId> | |
523 | - <classifier>bin</classifier> | |
524 | - <type>exe</type> | |
525 | - <destFileName>service.exe</destFileName> | |
526 | - </artifactItem> | |
527 | - </artifactItems> | |
528 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
529 | - </configuration> | |
530 | - </execution> | |
531 | - </executions> | |
532 | 345 | </plugin> |
533 | 346 | <plugin> |
534 | 347 | <groupId>org.apache.maven.plugins</groupId> |
535 | 348 | <artifactId>maven-jar-plugin</artifactId> |
536 | - <configuration> | |
537 | - <excludes> | |
538 | - <exclude>**/logback.xml</exclude> | |
539 | - </excludes> | |
540 | - <archive> | |
541 | - <manifestEntries> | |
542 | - <Implementation-Title>ThingsBoard</Implementation-Title> | |
543 | - <Implementation-Version>${project.version}</Implementation-Version> | |
544 | - </manifestEntries> | |
545 | - </archive> | |
546 | - </configuration> | |
547 | 349 | </plugin> |
548 | 350 | <plugin> |
549 | 351 | <groupId>org.springframework.boot</groupId> |
550 | 352 | <artifactId>spring-boot-maven-plugin</artifactId> |
551 | - <configuration> | |
552 | - <mainClass>org.thingsboard.server.ThingsboardServerApplication</mainClass> | |
553 | - <classifier>boot</classifier> | |
554 | - <layout>ZIP</layout> | |
555 | - <executable>true</executable> | |
556 | - <excludeDevtools>true</excludeDevtools> | |
557 | - <embeddedLaunchScriptProperties> | |
558 | - <confFolder>${pkg.installFolder}/conf</confFolder> | |
559 | - <logFolder>${pkg.unixLogFolder}</logFolder> | |
560 | - <logFilename>${pkg.name}.out</logFilename> | |
561 | - <initInfoProvides>${pkg.name}</initInfoProvides> | |
562 | - </embeddedLaunchScriptProperties> | |
563 | - </configuration> | |
564 | - <executions> | |
565 | - <execution> | |
566 | - <goals> | |
567 | - <goal>repackage</goal> | |
568 | - </goals> | |
569 | - </execution> | |
570 | - </executions> | |
571 | 353 | </plugin> |
572 | 354 | <plugin> |
573 | 355 | <groupId>org.thingsboard</groupId> |
574 | 356 | <artifactId>gradle-maven-plugin</artifactId> |
575 | - <configuration> | |
576 | - <tasks> | |
577 | - <task>build</task> | |
578 | - <task>buildDeb</task> | |
579 | - <task>buildRpm</task> | |
580 | - </tasks> | |
581 | - <args> | |
582 | - <arg>-PprojectBuildDir=${project.build.directory}</arg> | |
583 | - <arg>-PprojectVersion=${project.version}</arg> | |
584 | - <arg>-PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging} | |
585 | - </arg> | |
586 | - <arg>-PpkgName=${pkg.name}</arg> | |
587 | - <arg>-PpkgInstallFolder=${pkg.installFolder}</arg> | |
588 | - <arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg> | |
589 | - </args> | |
590 | - </configuration> | |
591 | - <executions> | |
592 | - <execution> | |
593 | - <phase>package</phase> | |
594 | - <goals> | |
595 | - <goal>invoke</goal> | |
596 | - </goals> | |
597 | - </execution> | |
598 | - </executions> | |
599 | 357 | </plugin> |
600 | 358 | <plugin> |
601 | 359 | <groupId>org.apache.maven.plugins</groupId> |
602 | 360 | <artifactId>maven-assembly-plugin</artifactId> |
603 | - <configuration> | |
604 | - <finalName>${pkg.name}</finalName> | |
605 | - <descriptors> | |
606 | - <descriptor>src/main/assembly/windows.xml</descriptor> | |
607 | - </descriptors> | |
608 | - </configuration> | |
609 | - <executions> | |
610 | - <execution> | |
611 | - <id>assembly</id> | |
612 | - <phase>package</phase> | |
613 | - <goals> | |
614 | - <goal>single</goal> | |
615 | - </goals> | |
616 | - </execution> | |
617 | - </executions> | |
618 | 361 | </plugin> |
619 | 362 | <plugin> |
620 | 363 | <groupId>org.apache.maven.plugins</groupId> |
621 | 364 | <artifactId>maven-install-plugin</artifactId> |
622 | - <configuration> | |
623 | - <file>${project.build.directory}/${pkg.name}.deb</file> | |
624 | - <artifactId>${project.artifactId}</artifactId> | |
625 | - <groupId>${project.groupId}</groupId> | |
626 | - <version>${project.version}</version> | |
627 | - <classifier>deb</classifier> | |
628 | - <packaging>deb</packaging> | |
629 | - </configuration> | |
630 | - <executions> | |
631 | - <execution> | |
632 | - <id>install-deb</id> | |
633 | - <phase>package</phase> | |
634 | - <goals> | |
635 | - <goal>install-file</goal> | |
636 | - </goals> | |
637 | - </execution> | |
638 | - </executions> | |
639 | 365 | </plugin> |
640 | 366 | <plugin> |
641 | 367 | <groupId>org.xolstice.maven.plugins</groupId> | ... | ... |
... | ... | @@ -15,6 +15,9 @@ |
15 | 15 | */ |
16 | 16 | package org.thingsboard.server.service.security.auth.oauth2; |
17 | 17 | |
18 | +import com.fasterxml.jackson.databind.ObjectMapper; | |
19 | +import com.fasterxml.jackson.databind.node.ObjectNode; | |
20 | +import com.google.common.base.Strings; | |
18 | 21 | import lombok.extern.slf4j.Slf4j; |
19 | 22 | import org.springframework.beans.factory.annotation.Autowired; |
20 | 23 | import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; |
... | ... | @@ -22,14 +25,20 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException; |
22 | 25 | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
23 | 26 | import org.springframework.util.StringUtils; |
24 | 27 | import org.thingsboard.server.common.data.Customer; |
28 | +import org.thingsboard.server.common.data.DashboardInfo; | |
25 | 29 | import org.thingsboard.server.common.data.Tenant; |
26 | 30 | import org.thingsboard.server.common.data.User; |
27 | 31 | import org.thingsboard.server.common.data.id.CustomerId; |
32 | +import org.thingsboard.server.common.data.id.DashboardId; | |
33 | +import org.thingsboard.server.common.data.id.IdBased; | |
28 | 34 | import org.thingsboard.server.common.data.id.TenantId; |
35 | +import org.thingsboard.server.common.data.page.PageData; | |
29 | 36 | import org.thingsboard.server.common.data.page.PageLink; |
37 | +import org.thingsboard.server.common.data.page.TimePageLink; | |
30 | 38 | import org.thingsboard.server.common.data.security.Authority; |
31 | 39 | import org.thingsboard.server.common.data.security.UserCredentials; |
32 | 40 | import org.thingsboard.server.dao.customer.CustomerService; |
41 | +import org.thingsboard.server.dao.dashboard.DashboardService; | |
33 | 42 | import org.thingsboard.server.dao.oauth2.OAuth2User; |
34 | 43 | import org.thingsboard.server.dao.tenant.TenantService; |
35 | 44 | import org.thingsboard.server.dao.user.UserService; |
... | ... | @@ -40,11 +49,15 @@ import org.thingsboard.server.service.security.model.UserPrincipal; |
40 | 49 | import java.io.IOException; |
41 | 50 | import java.util.List; |
42 | 51 | import java.util.Optional; |
52 | +import java.util.concurrent.ExecutionException; | |
43 | 53 | import java.util.concurrent.locks.Lock; |
44 | 54 | import java.util.concurrent.locks.ReentrantLock; |
45 | 55 | |
46 | 56 | @Slf4j |
47 | 57 | public abstract class AbstractOAuth2ClientMapper { |
58 | + private static final int DASHBOARDS_REQUEST_LIMIT = 10; | |
59 | + | |
60 | + private static final ObjectMapper objectMapper = new ObjectMapper(); | |
48 | 61 | |
49 | 62 | @Autowired |
50 | 63 | private UserService userService; |
... | ... | @@ -59,6 +72,9 @@ public abstract class AbstractOAuth2ClientMapper { |
59 | 72 | private CustomerService customerService; |
60 | 73 | |
61 | 74 | @Autowired |
75 | + private DashboardService dashboardService; | |
76 | + | |
77 | + @Autowired | |
62 | 78 | private InstallScripts installScripts; |
63 | 79 | |
64 | 80 | private final Lock userCreationLock = new ReentrantLock(); |
... | ... | @@ -92,6 +108,20 @@ public abstract class AbstractOAuth2ClientMapper { |
92 | 108 | user.setEmail(oauth2User.getEmail()); |
93 | 109 | user.setFirstName(oauth2User.getFirstName()); |
94 | 110 | user.setLastName(oauth2User.getLastName()); |
111 | + | |
112 | + if (!StringUtils.isEmpty(oauth2User.getDefaultDashboardName())) { | |
113 | + Optional<DashboardId> dashboardIdOpt = | |
114 | + user.getAuthority() == Authority.TENANT_ADMIN ? | |
115 | + getDashboardId(tenantId, oauth2User.getDefaultDashboardName()) | |
116 | + : getDashboardId(tenantId, customerId, oauth2User.getDefaultDashboardName()); | |
117 | + if (dashboardIdOpt.isPresent()) { | |
118 | + ObjectNode additionalInfo = objectMapper.createObjectNode(); | |
119 | + additionalInfo.put("defaultDashboardFullscreen", oauth2User.isAlwaysFullScreen()); | |
120 | + additionalInfo.put("defaultDashboardId", dashboardIdOpt.get().getId().toString()); | |
121 | + user.setAdditionalInfo(additionalInfo); | |
122 | + } | |
123 | + } | |
124 | + | |
95 | 125 | user = userService.saveUser(user); |
96 | 126 | if (activateUser) { |
97 | 127 | UserCredentials userCredentials = userService.findUserCredentialsByUserId(user.getTenantId(), user.getId()); |
... | ... | @@ -143,4 +173,28 @@ public abstract class AbstractOAuth2ClientMapper { |
143 | 173 | return customerService.saveCustomer(customer).getId(); |
144 | 174 | } |
145 | 175 | } |
176 | + | |
177 | + private Optional<DashboardId> getDashboardId(TenantId tenantId, String dashboardName) { | |
178 | + PageLink searchTextLink = new PageLink(1, 0, dashboardName); | |
179 | + PageData<DashboardInfo> dashboardsPage = dashboardService.findDashboardsByTenantId(tenantId, searchTextLink); | |
180 | + return dashboardsPage.getData().stream() | |
181 | + .findAny() | |
182 | + .map(IdBased::getId); | |
183 | + } | |
184 | + | |
185 | + private Optional<DashboardId> getDashboardId(TenantId tenantId, CustomerId customerId, String dashboardName) { | |
186 | + PageData<DashboardInfo> dashboardsPage; | |
187 | + PageLink pageLink = null; | |
188 | + do { | |
189 | + pageLink = pageLink == null ? new PageLink(DASHBOARDS_REQUEST_LIMIT) : pageLink.nextPageLink(); | |
190 | + dashboardsPage = dashboardService.findDashboardsByTenantIdAndCustomerId(tenantId, customerId, pageLink); | |
191 | + Optional<DashboardInfo> dashboardInfoOpt = dashboardsPage.getData().stream() | |
192 | + .filter(dashboardInfo -> dashboardName.equals(dashboardInfo.getName())) | |
193 | + .findAny(); | |
194 | + if (dashboardInfoOpt.isPresent()) { | |
195 | + return dashboardInfoOpt.map(DashboardInfo::getId); | |
196 | + } | |
197 | + } while (dashboardsPage.hasNext()); | |
198 | + return Optional.empty(); | |
199 | + } | |
146 | 200 | } | ... | ... |
... | ... | @@ -56,6 +56,10 @@ public class BasicOAuth2ClientMapper extends AbstractOAuth2ClientMapper implemen |
56 | 56 | String customerName = sub.replace(config.getBasic().getCustomerNamePattern()); |
57 | 57 | oauth2User.setCustomerName(customerName); |
58 | 58 | } |
59 | + oauth2User.setAlwaysFullScreen(config.getBasic().isAlwaysFullScreen()); | |
60 | + if (!StringUtils.isEmpty(config.getBasic().getDefaultDashboardName())) { | |
61 | + oauth2User.setDefaultDashboardName(config.getBasic().getDefaultDashboardName()); | |
62 | + } | |
59 | 63 | |
60 | 64 | return getOrCreateSecurityUserFromOAuth2User(oauth2User, config.isAllowUserCreation(), config.isActivateUser()); |
61 | 65 | } | ... | ... |
... | ... | @@ -17,6 +17,7 @@ package org.thingsboard.server.service.transport; |
17 | 17 | |
18 | 18 | import com.fasterxml.jackson.core.JsonProcessingException; |
19 | 19 | import com.fasterxml.jackson.databind.ObjectMapper; |
20 | +import com.fasterxml.jackson.databind.node.ObjectNode; | |
20 | 21 | import com.google.common.util.concurrent.Futures; |
21 | 22 | import com.google.common.util.concurrent.ListenableFuture; |
22 | 23 | import com.google.common.util.concurrent.MoreExecutors; |
... | ... | @@ -24,13 +25,18 @@ import lombok.extern.slf4j.Slf4j; |
24 | 25 | import org.springframework.beans.factory.annotation.Autowired; |
25 | 26 | import org.springframework.stereotype.Service; |
26 | 27 | import org.springframework.util.StringUtils; |
28 | +import org.thingsboard.server.common.data.DataConstants; | |
27 | 29 | import org.thingsboard.server.common.data.Device; |
28 | 30 | import org.thingsboard.server.common.data.Tenant; |
31 | +import org.thingsboard.server.common.data.id.CustomerId; | |
29 | 32 | import org.thingsboard.server.common.data.id.DeviceId; |
30 | 33 | import org.thingsboard.server.common.data.id.TenantId; |
31 | 34 | import org.thingsboard.server.common.data.relation.EntityRelation; |
32 | 35 | import org.thingsboard.server.common.data.security.DeviceCredentials; |
33 | 36 | import org.thingsboard.server.common.data.security.DeviceCredentialsType; |
37 | +import org.thingsboard.server.common.msg.TbMsg; | |
38 | +import org.thingsboard.server.common.msg.TbMsgDataType; | |
39 | +import org.thingsboard.server.common.msg.TbMsgMetaData; | |
34 | 40 | import org.thingsboard.server.dao.device.DeviceCredentialsService; |
35 | 41 | import org.thingsboard.server.dao.device.DeviceService; |
36 | 42 | import org.thingsboard.server.dao.relation.RelationService; |
... | ... | @@ -48,6 +54,7 @@ import org.thingsboard.server.gen.transport.TransportProtos.ValidateDeviceX509Ce |
48 | 54 | import org.thingsboard.server.queue.common.TbProtoQueueMsg; |
49 | 55 | import org.thingsboard.server.queue.util.TbCoreComponent; |
50 | 56 | import org.thingsboard.server.service.executors.DbCallbackExecutorService; |
57 | +import org.thingsboard.server.service.queue.TbClusterService; | |
51 | 58 | import org.thingsboard.server.service.state.DeviceStateService; |
52 | 59 | |
53 | 60 | import java.util.UUID; |
... | ... | @@ -82,6 +89,9 @@ public class DefaultTransportApiService implements TransportApiService { |
82 | 89 | @Autowired |
83 | 90 | private DbCallbackExecutorService dbCallbackExecutorService; |
84 | 91 | |
92 | + @Autowired | |
93 | + protected TbClusterService tbClusterService; | |
94 | + | |
85 | 95 | private ReentrantLock deviceCreationLock = new ReentrantLock(); |
86 | 96 | |
87 | 97 | @Override |
... | ... | @@ -119,14 +129,27 @@ public class DefaultTransportApiService implements TransportApiService { |
119 | 129 | try { |
120 | 130 | Device device = deviceService.findDeviceByTenantIdAndName(gateway.getTenantId(), requestMsg.getDeviceName()); |
121 | 131 | if (device == null) { |
132 | + TenantId tenantId = gateway.getTenantId(); | |
122 | 133 | device = new Device(); |
123 | - device.setTenantId(gateway.getTenantId()); | |
134 | + device.setTenantId(tenantId); | |
124 | 135 | device.setName(requestMsg.getDeviceName()); |
125 | 136 | device.setType(requestMsg.getDeviceType()); |
126 | 137 | device.setCustomerId(gateway.getCustomerId()); |
127 | 138 | device = deviceService.saveDevice(device); |
128 | 139 | relationService.saveRelationAsync(TenantId.SYS_TENANT_ID, new EntityRelation(gateway.getId(), device.getId(), "Created")); |
129 | 140 | deviceStateService.onDeviceAdded(device); |
141 | + | |
142 | + TbMsgMetaData metaData = new TbMsgMetaData(); | |
143 | + CustomerId customerId = gateway.getCustomerId(); | |
144 | + if (customerId != null && !customerId.isNullUid()) { | |
145 | + metaData.putValue("customerId", customerId.toString()); | |
146 | + } | |
147 | + metaData.putValue("gatewayId", gatewayId.toString()); | |
148 | + | |
149 | + DeviceId deviceId = device.getId(); | |
150 | + ObjectNode entityNode = mapper.valueToTree(device); | |
151 | + TbMsg tbMsg = TbMsg.newMsg(DataConstants.ENTITY_CREATED, deviceId, metaData, TbMsgDataType.JSON, mapper.writeValueAsString(entityNode)); | |
152 | + tbClusterService.pushMsgToRuleEngine(tenantId, deviceId, tbMsg, null); | |
130 | 153 | } |
131 | 154 | return TransportApiResponseMsg.newBuilder() |
132 | 155 | .setGetOrCreateDeviceResponseMsg(GetOrCreateDeviceFromGatewayResponseMsg.newBuilder().setDeviceInfo(getDeviceInfoProto(device)).build()).build(); | ... | ... |
... | ... | @@ -148,6 +148,10 @@ security: |
148 | 148 | # If this field is not empty, user will be created as a user under defined Customer |
149 | 149 | # %{attribute_key} as placeholder for attribute value of attributes of external user object |
150 | 150 | customerNamePattern: "${SECURITY_OAUTH2_DEFAULT_MAPPER_BASIC_CUSTOMER_NAME_PATTERN:}" |
151 | + # If this field is not empty, user will be created with default defined Dashboard | |
152 | + defaultDashboardName: "${SECURITY_OAUTH2_DEFAULT_MAPPER_BASIC_DEFAULT_DASHBOARD_NAME:}" | |
153 | + # If this field is set 'true' along with non-empty 'defaultDashboardName', user will start from the defined Dashboard in fullscreen mode | |
154 | + alwaysFullScreen: "${SECURITY_OAUTH2_DEFAULT_MAPPER_BASIC_ALWAYS_FULL_SCREEN:false}" | |
151 | 155 | custom: |
152 | 156 | url: "${SECURITY_OAUTH2_DEFAULT_MAPPER_CUSTOM_URL:}" |
153 | 157 | username: "${SECURITY_OAUTH2_DEFAULT_MAPPER_CUSTOM_USERNAME:}" |
... | ... | @@ -687,7 +691,7 @@ queue: |
687 | 691 | topic: "${TB_QUEUE_RE_MAIN_TOPIC:tb_rule_engine.main}" |
688 | 692 | poll-interval: "${TB_QUEUE_RE_MAIN_POLL_INTERVAL_MS:25}" |
689 | 693 | partitions: "${TB_QUEUE_RE_MAIN_PARTITIONS:10}" |
690 | - pack-processing-timeout: "${TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS:60000}" | |
694 | + pack-processing-timeout: "${TB_QUEUE_RE_MAIN_PACK_PROCESSING_TIMEOUT_MS:5000}" | |
691 | 695 | submit-strategy: |
692 | 696 | type: "${TB_QUEUE_RE_MAIN_SUBMIT_STRATEGY_TYPE:BURST}" # BURST, BATCH, SEQUENTIAL_BY_ORIGINATOR, SEQUENTIAL_BY_TENANT, SEQUENTIAL |
693 | 697 | # For BATCH only | ... | ... |
... | ... | @@ -40,6 +40,7 @@ import java.util.UUID; |
40 | 40 | public final class TbMsg implements Serializable { |
41 | 41 | |
42 | 42 | private final UUID id; |
43 | + private final long ts; | |
43 | 44 | private final String type; |
44 | 45 | private final EntityId originator; |
45 | 46 | private final TbMsgMetaData metaData; |
... | ... | @@ -51,38 +52,43 @@ public final class TbMsg implements Serializable { |
51 | 52 | transient private final TbMsgCallback callback; |
52 | 53 | |
53 | 54 | public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, String data) { |
54 | - return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, null, null, TbMsgCallback.EMPTY); | |
55 | + return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, null, null, TbMsgCallback.EMPTY); | |
55 | 56 | } |
56 | 57 | |
57 | 58 | public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { |
58 | - return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, ruleChainId, ruleNodeId, TbMsgCallback.EMPTY); | |
59 | + return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, ruleChainId, ruleNodeId, TbMsgCallback.EMPTY); | |
59 | 60 | } |
60 | 61 | |
61 | 62 | public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data) { |
62 | - return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), dataType, data, null, null, TbMsgCallback.EMPTY); | |
63 | + return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), dataType, data, null, null, TbMsgCallback.EMPTY); | |
63 | 64 | } |
64 | 65 | |
65 | 66 | public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { |
66 | - return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), dataType, data, ruleChainId, ruleNodeId, TbMsgCallback.EMPTY); | |
67 | + return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), dataType, data, ruleChainId, ruleNodeId, TbMsgCallback.EMPTY); | |
67 | 68 | } |
68 | 69 | |
69 | 70 | public static TbMsg newMsg(String type, EntityId originator, TbMsgMetaData metaData, String data, TbMsgCallback callback) { |
70 | - return new TbMsg(UUID.randomUUID(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, null, null, callback); | |
71 | + return new TbMsg(UUID.randomUUID(), System.currentTimeMillis(), type, originator, metaData.copy(), TbMsgDataType.JSON, data, null, null, callback); | |
71 | 72 | } |
72 | 73 | |
73 | 74 | public static TbMsg transformMsg(TbMsg origMsg, String type, EntityId originator, TbMsgMetaData metaData, String data) { |
74 | - return new TbMsg(origMsg.getId(), type, originator, metaData.copy(), origMsg.getDataType(), | |
75 | + return new TbMsg(origMsg.getId(), origMsg.getTs(), type, originator, metaData.copy(), origMsg.getDataType(), | |
75 | 76 | data, origMsg.getRuleChainId(), origMsg.getRuleNodeId(), origMsg.getCallback()); |
76 | 77 | } |
77 | 78 | |
78 | 79 | public static TbMsg newMsg(TbMsg tbMsg, RuleChainId ruleChainId, RuleNodeId ruleNodeId) { |
79 | - return new TbMsg(UUID.randomUUID(), tbMsg.getType(), tbMsg.getOriginator(), tbMsg.getMetaData().copy(), | |
80 | + return new TbMsg(UUID.randomUUID(), tbMsg.getTs(), tbMsg.getType(), tbMsg.getOriginator(), tbMsg.getMetaData().copy(), | |
80 | 81 | tbMsg.getDataType(), tbMsg.getData(), ruleChainId, ruleNodeId, TbMsgCallback.EMPTY); |
81 | 82 | } |
82 | 83 | |
83 | - private TbMsg(UUID id, String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data, | |
84 | + private TbMsg(UUID id, long ts, String type, EntityId originator, TbMsgMetaData metaData, TbMsgDataType dataType, String data, | |
84 | 85 | RuleChainId ruleChainId, RuleNodeId ruleNodeId, TbMsgCallback callback) { |
85 | 86 | this.id = id; |
87 | + if (ts > 0) { | |
88 | + this.ts = ts; | |
89 | + } else { | |
90 | + this.ts = System.currentTimeMillis(); | |
91 | + } | |
86 | 92 | this.type = type; |
87 | 93 | this.originator = originator; |
88 | 94 | this.metaData = metaData; |
... | ... | @@ -105,6 +111,7 @@ public final class TbMsg implements Serializable { |
105 | 111 | public static byte[] toByteArray(TbMsg msg) { |
106 | 112 | MsgProtos.TbMsgProto.Builder builder = MsgProtos.TbMsgProto.newBuilder(); |
107 | 113 | builder.setId(msg.getId().toString()); |
114 | + builder.setTs(msg.getTs()); | |
108 | 115 | builder.setType(msg.getType()); |
109 | 116 | builder.setEntityType(msg.getOriginator().getEntityType().name()); |
110 | 117 | builder.setEntityIdMSB(msg.getOriginator().getId().getMostSignificantBits()); |
... | ... | @@ -124,7 +131,6 @@ public final class TbMsg implements Serializable { |
124 | 131 | builder.setMetaData(MsgProtos.TbMsgMetaDataProto.newBuilder().putAllData(msg.getMetaData().getData()).build()); |
125 | 132 | } |
126 | 133 | |
127 | - | |
128 | 134 | builder.setDataType(msg.getDataType().ordinal()); |
129 | 135 | builder.setData(msg.getData()); |
130 | 136 | return builder.build().toByteArray(); |
... | ... | @@ -144,18 +150,18 @@ public final class TbMsg implements Serializable { |
144 | 150 | ruleNodeId = new RuleNodeId(new UUID(proto.getRuleNodeIdMSB(), proto.getRuleNodeIdLSB())); |
145 | 151 | } |
146 | 152 | TbMsgDataType dataType = TbMsgDataType.values()[proto.getDataType()]; |
147 | - return new TbMsg(UUID.fromString(proto.getId()), proto.getType(), entityId, metaData, dataType, proto.getData(), ruleChainId, ruleNodeId, callback); | |
153 | + return new TbMsg(UUID.fromString(proto.getId()), proto.getTs(), proto.getType(), entityId, metaData, dataType, proto.getData(), ruleChainId, ruleNodeId, callback); | |
148 | 154 | } catch (InvalidProtocolBufferException e) { |
149 | 155 | throw new IllegalStateException("Could not parse protobuf for TbMsg", e); |
150 | 156 | } |
151 | 157 | } |
152 | 158 | |
153 | 159 | public TbMsg copyWithRuleChainId(RuleChainId ruleChainId) { |
154 | - return new TbMsg(this.id, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, null, callback); | |
160 | + return new TbMsg(this.id, this.ts, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, null, callback); | |
155 | 161 | } |
156 | 162 | |
157 | 163 | public TbMsg copyWithRuleNodeId(RuleChainId ruleChainId, RuleNodeId ruleNodeId) { |
158 | - return new TbMsg(this.id, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, callback); | |
164 | + return new TbMsg(this.id, this.ts, this.type, this.originator, this.metaData, this.dataType, this.data, ruleChainId, ruleNodeId, callback); | |
159 | 165 | } |
160 | 166 | |
161 | 167 | public TbMsgCallback getCallback() { | ... | ... |
... | ... | @@ -200,7 +200,7 @@ public class KafkaMonolithQueueFactory implements TbCoreQueueFactory, TbRuleEngi |
200 | 200 | consumerBuilder.settings(kafkaSettings); |
201 | 201 | consumerBuilder.topic(transportApiSettings.getRequestsTopic()); |
202 | 202 | consumerBuilder.clientId("monolith-transport-api-consumer-" + serviceInfoProvider.getServiceId()); |
203 | - consumerBuilder.groupId("monolith-transport-api-consumer-" + serviceInfoProvider.getServiceId()); | |
203 | + consumerBuilder.groupId("monolith-transport-api-consumer"); | |
204 | 204 | consumerBuilder.decoder(msg -> new TbProtoQueueMsg<>(msg.getKey(), TransportApiRequestMsg.parseFrom(msg.getData()), msg.getHeaders())); |
205 | 205 | consumerBuilder.admin(transportApiAdmin); |
206 | 206 | return consumerBuilder.build(); | ... | ... |
... | ... | @@ -170,7 +170,7 @@ public class KafkaTbCoreQueueFactory implements TbCoreQueueFactory { |
170 | 170 | consumerBuilder.settings(kafkaSettings); |
171 | 171 | consumerBuilder.topic(transportApiSettings.getRequestsTopic()); |
172 | 172 | consumerBuilder.clientId("tb-core-transport-api-consumer-" + serviceInfoProvider.getServiceId()); |
173 | - consumerBuilder.groupId("tb-core-transport-api-consumer-" + serviceInfoProvider.getServiceId()); | |
173 | + consumerBuilder.groupId("tb-core-transport-api-consumer"); | |
174 | 174 | consumerBuilder.decoder(msg -> new TbProtoQueueMsg<>(msg.getKey(), TransportApiRequestMsg.parseFrom(msg.getData()), msg.getHeaders())); |
175 | 175 | consumerBuilder.admin(transportApiAdmin); |
176 | 176 | return consumerBuilder.build(); | ... | ... |
... | ... | @@ -53,10 +53,6 @@ |
53 | 53 | <artifactId>util</artifactId> |
54 | 54 | </dependency> |
55 | 55 | <dependency> |
56 | - <groupId>org.thingsboard.common</groupId> | |
57 | - <artifactId>queue</artifactId> | |
58 | - </dependency> | |
59 | - <dependency> | |
60 | 56 | <groupId>com.google.code.gson</groupId> |
61 | 57 | <artifactId>gson</artifactId> |
62 | 58 | </dependency> | ... | ... |
... | ... | @@ -112,7 +112,7 @@ public class EventEntity extends BaseSqlEntity<Event> implements BaseEntity<Eve |
112 | 112 | return event; |
113 | 113 | } |
114 | 114 | |
115 | - private long getTs(UUID uuid) { | |
115 | + private static long getTs(UUID uuid) { | |
116 | 116 | return (uuid.timestamp() - EPOCH_DIFF) / 10000; |
117 | 117 | } |
118 | 118 | } | ... | ... |
... | ... | @@ -34,6 +34,8 @@ public class OAuth2ClientMapperConfig { |
34 | 34 | private String tenantNameStrategy; |
35 | 35 | private String tenantNamePattern; |
36 | 36 | private String customerNamePattern; |
37 | + private boolean alwaysFullScreen; | |
38 | + private String defaultDashboardName; | |
37 | 39 | } |
38 | 40 | |
39 | 41 | @Data | ... | ... |
msa/js-executor/build.gradle
deleted
100644 → 0
1 | -/** | |
2 | - * Copyright © 2016-2020 The Thingsboard Authors | |
3 | - * | |
4 | - * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | - * you may not use this file except in compliance with the License. | |
6 | - * You may obtain a copy of the License at | |
7 | - * | |
8 | - * http://www.apache.org/licenses/LICENSE-2.0 | |
9 | - * | |
10 | - * Unless required by applicable law or agreed to in writing, software | |
11 | - * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | - * See the License for the specific language governing permissions and | |
14 | - * limitations under the License. | |
15 | - */ | |
16 | -import org.apache.tools.ant.filters.ReplaceTokens | |
17 | - | |
18 | -buildscript { | |
19 | - ext { | |
20 | - osPackageVersion = "3.8.0" | |
21 | - } | |
22 | - repositories { | |
23 | - jcenter() | |
24 | - } | |
25 | - dependencies { | |
26 | - classpath("com.netflix.nebula:gradle-ospackage-plugin:${osPackageVersion}") | |
27 | - } | |
28 | -} | |
29 | - | |
30 | -apply plugin: "nebula.ospackage" | |
31 | - | |
32 | -buildDir = projectBuildDir | |
33 | -version = projectVersion | |
34 | -distsDirName = "./" | |
35 | - | |
36 | -// OS Package plugin configuration | |
37 | -ospackage { | |
38 | - packageName = pkgName | |
39 | - version = "${project.version}" | |
40 | - release = 1 | |
41 | - os = LINUX | |
42 | - type = BINARY | |
43 | - | |
44 | - into pkgInstallFolder | |
45 | - | |
46 | - user pkgUser | |
47 | - permissionGroup pkgUser | |
48 | - | |
49 | - // Copy the executable file | |
50 | - from("target/package/linux/bin/${pkgName}") { | |
51 | - fileMode 0500 | |
52 | - into "bin" | |
53 | - } | |
54 | - | |
55 | - // Copy the init file | |
56 | - from("target/package/linux/init/${pkgName}") { | |
57 | - fileMode 0500 | |
58 | - into "init" | |
59 | - } | |
60 | - | |
61 | - // Copy the config files | |
62 | - from("target/package/linux/conf") { | |
63 | - fileType CONFIG | NOREPLACE | |
64 | - fileMode 0754 | |
65 | - into "conf" | |
66 | - } | |
67 | - | |
68 | -} | |
69 | - | |
70 | -// Configure our RPM build task | |
71 | -buildRpm { | |
72 | - | |
73 | - arch = X86_64 | |
74 | - | |
75 | - version = projectVersion.replace('-', '') | |
76 | - archiveName = "${pkgName}.rpm" | |
77 | - | |
78 | - preInstall file("${buildDir}/control/rpm/preinst") | |
79 | - postInstall file("${buildDir}/control/rpm/postinst") | |
80 | - preUninstall file("${buildDir}/control/rpm/prerm") | |
81 | - postUninstall file("${buildDir}/control/rpm/postrm") | |
82 | - | |
83 | - user pkgUser | |
84 | - permissionGroup pkgUser | |
85 | - | |
86 | - // Copy the system unit files | |
87 | - from("${buildDir}/control/${pkgName}.service") { | |
88 | - addParentDirs = false | |
89 | - fileMode 0644 | |
90 | - into "/usr/lib/systemd/system" | |
91 | - } | |
92 | - | |
93 | - directory(pkgLogFolder, 0755) | |
94 | - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") | |
95 | -} | |
96 | - | |
97 | -// Same as the buildRpm task | |
98 | -buildDeb { | |
99 | - | |
100 | - arch = "amd64" | |
101 | - | |
102 | - archiveName = "${pkgName}.deb" | |
103 | - | |
104 | - configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") | |
105 | - configurationFile("${pkgInstallFolder}/conf/custom-environment-variables.yml") | |
106 | - configurationFile("${pkgInstallFolder}/conf/default.yml") | |
107 | - configurationFile("${pkgInstallFolder}/conf/logger.js") | |
108 | - | |
109 | - preInstall file("${buildDir}/control/deb/preinst") | |
110 | - postInstall file("${buildDir}/control/deb/postinst") | |
111 | - preUninstall file("${buildDir}/control/deb/prerm") | |
112 | - postUninstall file("${buildDir}/control/deb/postrm") | |
113 | - | |
114 | - user pkgUser | |
115 | - permissionGroup pkgUser | |
116 | - | |
117 | - directory(pkgLogFolder, 0755) | |
118 | - link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/init/${pkgName}") | |
119 | - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") | |
120 | -} |
... | ... | @@ -23,7 +23,7 @@ RUN chmod a+x /tmp/*.sh \ |
23 | 23 | |
24 | 24 | RUN yes | dpkg -i /tmp/${pkg.name}.deb |
25 | 25 | |
26 | -RUN update-rc.d ${pkg.name} disable | |
26 | +RUN systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : | |
27 | 27 | |
28 | 28 | RUN chmod 555 ${pkg.installFolder}/bin/${pkg.name} |
29 | 29 | ... | ... |
... | ... | @@ -1428,7 +1428,7 @@ |
1428 | 1428 | }, |
1429 | 1429 | "enabled": { |
1430 | 1430 | "version": "1.0.2", |
1431 | - "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", | |
1431 | + "resolved": "http://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", | |
1432 | 1432 | "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", |
1433 | 1433 | "requires": { |
1434 | 1434 | "env-variable": "0.0.x" |
... | ... | @@ -1779,7 +1779,7 @@ |
1779 | 1779 | }, |
1780 | 1780 | "fecha": { |
1781 | 1781 | "version": "2.3.3", |
1782 | - "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", | |
1782 | + "resolved": "http://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", | |
1783 | 1783 | "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" |
1784 | 1784 | }, |
1785 | 1785 | "file-stream-rotator": { |
... | ... | @@ -1945,12 +1945,14 @@ |
1945 | 1945 | "balanced-match": { |
1946 | 1946 | "version": "1.0.0", |
1947 | 1947 | "bundled": true, |
1948 | - "dev": true | |
1948 | + "dev": true, | |
1949 | + "optional": true | |
1949 | 1950 | }, |
1950 | 1951 | "brace-expansion": { |
1951 | 1952 | "version": "1.1.11", |
1952 | 1953 | "bundled": true, |
1953 | 1954 | "dev": true, |
1955 | + "optional": true, | |
1954 | 1956 | "requires": { |
1955 | 1957 | "balanced-match": "^1.0.0", |
1956 | 1958 | "concat-map": "0.0.1" |
... | ... | @@ -1965,17 +1967,20 @@ |
1965 | 1967 | "code-point-at": { |
1966 | 1968 | "version": "1.1.0", |
1967 | 1969 | "bundled": true, |
1968 | - "dev": true | |
1970 | + "dev": true, | |
1971 | + "optional": true | |
1969 | 1972 | }, |
1970 | 1973 | "concat-map": { |
1971 | 1974 | "version": "0.0.1", |
1972 | 1975 | "bundled": true, |
1973 | - "dev": true | |
1976 | + "dev": true, | |
1977 | + "optional": true | |
1974 | 1978 | }, |
1975 | 1979 | "console-control-strings": { |
1976 | 1980 | "version": "1.1.0", |
1977 | 1981 | "bundled": true, |
1978 | - "dev": true | |
1982 | + "dev": true, | |
1983 | + "optional": true | |
1979 | 1984 | }, |
1980 | 1985 | "core-util-is": { |
1981 | 1986 | "version": "1.0.2", |
... | ... | @@ -2092,7 +2097,8 @@ |
2092 | 2097 | "inherits": { |
2093 | 2098 | "version": "2.0.4", |
2094 | 2099 | "bundled": true, |
2095 | - "dev": true | |
2100 | + "dev": true, | |
2101 | + "optional": true | |
2096 | 2102 | }, |
2097 | 2103 | "ini": { |
2098 | 2104 | "version": "1.3.5", |
... | ... | @@ -2104,6 +2110,7 @@ |
2104 | 2110 | "version": "1.0.0", |
2105 | 2111 | "bundled": true, |
2106 | 2112 | "dev": true, |
2113 | + "optional": true, | |
2107 | 2114 | "requires": { |
2108 | 2115 | "number-is-nan": "^1.0.0" |
2109 | 2116 | } |
... | ... | @@ -2118,6 +2125,7 @@ |
2118 | 2125 | "version": "3.0.4", |
2119 | 2126 | "bundled": true, |
2120 | 2127 | "dev": true, |
2128 | + "optional": true, | |
2121 | 2129 | "requires": { |
2122 | 2130 | "brace-expansion": "^1.1.7" |
2123 | 2131 | } |
... | ... | @@ -2125,12 +2133,14 @@ |
2125 | 2133 | "minimist": { |
2126 | 2134 | "version": "0.0.8", |
2127 | 2135 | "bundled": true, |
2128 | - "dev": true | |
2136 | + "dev": true, | |
2137 | + "optional": true | |
2129 | 2138 | }, |
2130 | 2139 | "minipass": { |
2131 | 2140 | "version": "2.9.0", |
2132 | 2141 | "bundled": true, |
2133 | 2142 | "dev": true, |
2143 | + "optional": true, | |
2134 | 2144 | "requires": { |
2135 | 2145 | "safe-buffer": "^5.1.2", |
2136 | 2146 | "yallist": "^3.0.0" |
... | ... | @@ -2149,6 +2159,7 @@ |
2149 | 2159 | "version": "0.5.1", |
2150 | 2160 | "bundled": true, |
2151 | 2161 | "dev": true, |
2162 | + "optional": true, | |
2152 | 2163 | "requires": { |
2153 | 2164 | "minimist": "0.0.8" |
2154 | 2165 | } |
... | ... | @@ -2238,7 +2249,8 @@ |
2238 | 2249 | "number-is-nan": { |
2239 | 2250 | "version": "1.0.1", |
2240 | 2251 | "bundled": true, |
2241 | - "dev": true | |
2252 | + "dev": true, | |
2253 | + "optional": true | |
2242 | 2254 | }, |
2243 | 2255 | "object-assign": { |
2244 | 2256 | "version": "4.1.1", |
... | ... | @@ -2250,6 +2262,7 @@ |
2250 | 2262 | "version": "1.4.0", |
2251 | 2263 | "bundled": true, |
2252 | 2264 | "dev": true, |
2265 | + "optional": true, | |
2253 | 2266 | "requires": { |
2254 | 2267 | "wrappy": "1" |
2255 | 2268 | } |
... | ... | @@ -2371,6 +2384,7 @@ |
2371 | 2384 | "version": "1.0.2", |
2372 | 2385 | "bundled": true, |
2373 | 2386 | "dev": true, |
2387 | + "optional": true, | |
2374 | 2388 | "requires": { |
2375 | 2389 | "code-point-at": "^1.0.0", |
2376 | 2390 | "is-fullwidth-code-point": "^1.0.0", |
... | ... | @@ -2472,7 +2486,7 @@ |
2472 | 2486 | }, |
2473 | 2487 | "get-stream": { |
2474 | 2488 | "version": "3.0.0", |
2475 | - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", | |
2489 | + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", | |
2476 | 2490 | "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", |
2477 | 2491 | "dev": true |
2478 | 2492 | }, |
... | ... | @@ -2597,7 +2611,7 @@ |
2597 | 2611 | }, |
2598 | 2612 | "got": { |
2599 | 2613 | "version": "6.7.1", |
2600 | - "resolved": "https://registry.npmjs.org/got/-/got-6.7.1.tgz", | |
2614 | + "resolved": "http://registry.npmjs.org/got/-/got-6.7.1.tgz", | |
2601 | 2615 | "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", |
2602 | 2616 | "dev": true, |
2603 | 2617 | "requires": { |
... | ... | @@ -2920,7 +2934,7 @@ |
2920 | 2934 | }, |
2921 | 2935 | "is-obj": { |
2922 | 2936 | "version": "1.0.1", |
2923 | - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", | |
2937 | + "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", | |
2924 | 2938 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", |
2925 | 2939 | "dev": true |
2926 | 2940 | }, |
... | ... | @@ -3276,7 +3290,7 @@ |
3276 | 3290 | }, |
3277 | 3291 | "minimist": { |
3278 | 3292 | "version": "1.2.0", |
3279 | - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", | |
3293 | + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", | |
3280 | 3294 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", |
3281 | 3295 | "dev": true |
3282 | 3296 | }, |
... | ... | @@ -3604,7 +3618,7 @@ |
3604 | 3618 | }, |
3605 | 3619 | "path-is-absolute": { |
3606 | 3620 | "version": "1.0.1", |
3607 | - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | |
3621 | + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", | |
3608 | 3622 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", |
3609 | 3623 | "dev": true |
3610 | 3624 | }, |
... | ... | @@ -4161,7 +4175,7 @@ |
4161 | 4175 | }, |
4162 | 4176 | "safe-regex": { |
4163 | 4177 | "version": "1.1.0", |
4164 | - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", | |
4178 | + "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", | |
4165 | 4179 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", |
4166 | 4180 | "dev": true, |
4167 | 4181 | "requires": { |
... | ... | @@ -4574,7 +4588,7 @@ |
4574 | 4588 | }, |
4575 | 4589 | "strip-eof": { |
4576 | 4590 | "version": "1.0.0", |
4577 | - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", | |
4591 | + "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", | |
4578 | 4592 | "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", |
4579 | 4593 | "dev": true |
4580 | 4594 | }, | ... | ... |
... | ... | @@ -34,10 +34,12 @@ |
34 | 34 | <properties> |
35 | 35 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
36 | 36 | <main.dir>${basedir}/../..</main.dir> |
37 | - <pkg.name>tb-js-executor</pkg.name> | |
38 | 37 | <docker.name>tb-js-executor</docker.name> |
39 | - <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | |
40 | - <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | |
38 | + <pkg.name>tb-js-executor</pkg.name> | |
39 | + <pkg.type>js</pkg.type> | |
40 | + <pkg.disabled>false</pkg.disabled> | |
41 | + <pkg.process-resources.phase>process-resources</pkg.process-resources.phase> | |
42 | + <pkg.package.phase>package</pkg.package.phase> | |
41 | 43 | <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist> |
42 | 44 | <pkg.win.dist>${project.build.directory}/package/windows</pkg.win.dist> |
43 | 45 | </properties> |
... | ... | @@ -87,194 +89,18 @@ |
87 | 89 | <plugin> |
88 | 90 | <groupId>org.apache.maven.plugins</groupId> |
89 | 91 | <artifactId>maven-dependency-plugin</artifactId> |
90 | - <executions> | |
91 | - <execution> | |
92 | - <id>copy-winsw-service</id> | |
93 | - <phase>package</phase> | |
94 | - <goals> | |
95 | - <goal>copy</goal> | |
96 | - </goals> | |
97 | - <configuration> | |
98 | - <artifactItems> | |
99 | - <artifactItem> | |
100 | - <groupId>com.sun.winsw</groupId> | |
101 | - <artifactId>winsw</artifactId> | |
102 | - <classifier>bin</classifier> | |
103 | - <type>exe</type> | |
104 | - <destFileName>service.exe</destFileName> | |
105 | - </artifactItem> | |
106 | - </artifactItems> | |
107 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
108 | - </configuration> | |
109 | - </execution> | |
110 | - </executions> | |
111 | 92 | </plugin> |
112 | 93 | <plugin> |
113 | 94 | <groupId>org.apache.maven.plugins</groupId> |
114 | 95 | <artifactId>maven-resources-plugin</artifactId> |
115 | - <executions> | |
116 | - <execution> | |
117 | - <id>copy-linux-conf</id> | |
118 | - <phase>process-resources</phase> | |
119 | - <goals> | |
120 | - <goal>copy-resources</goal> | |
121 | - </goals> | |
122 | - <configuration> | |
123 | - <outputDirectory>${pkg.linux.dist}/conf</outputDirectory> | |
124 | - <resources> | |
125 | - <resource> | |
126 | - <directory>config</directory> | |
127 | - <filtering>true</filtering> | |
128 | - </resource> | |
129 | - </resources> | |
130 | - <filters> | |
131 | - <filter>src/main/filters/unix.properties</filter> | |
132 | - </filters> | |
133 | - </configuration> | |
134 | - </execution> | |
135 | - <execution> | |
136 | - <id>copy-linux-init</id> | |
137 | - <phase>process-resources</phase> | |
138 | - <goals> | |
139 | - <goal>copy-resources</goal> | |
140 | - </goals> | |
141 | - <configuration> | |
142 | - <outputDirectory>${pkg.linux.dist}/init</outputDirectory> | |
143 | - <resources> | |
144 | - <resource> | |
145 | - <directory>src/main/scripts/init</directory> | |
146 | - <filtering>true</filtering> | |
147 | - </resource> | |
148 | - </resources> | |
149 | - <filters> | |
150 | - <filter>src/main/filters/unix.properties</filter> | |
151 | - </filters> | |
152 | - </configuration> | |
153 | - </execution> | |
154 | - <execution> | |
155 | - <id>copy-win-conf</id> | |
156 | - <phase>process-resources</phase> | |
157 | - <goals> | |
158 | - <goal>copy-resources</goal> | |
159 | - </goals> | |
160 | - <configuration> | |
161 | - <outputDirectory>${pkg.win.dist}/conf</outputDirectory> | |
162 | - <resources> | |
163 | - <resource> | |
164 | - <directory>config</directory> | |
165 | - <excludes> | |
166 | - <exclude>tb-js-executor.conf</exclude> | |
167 | - </excludes> | |
168 | - <filtering>true</filtering> | |
169 | - </resource> | |
170 | - </resources> | |
171 | - <filters> | |
172 | - <filter>src/main/filters/windows.properties</filter> | |
173 | - </filters> | |
174 | - </configuration> | |
175 | - </execution> | |
176 | - <execution> | |
177 | - <id>copy-control</id> | |
178 | - <phase>process-resources</phase> | |
179 | - <goals> | |
180 | - <goal>copy-resources</goal> | |
181 | - </goals> | |
182 | - <configuration> | |
183 | - <outputDirectory>${project.build.directory}/control</outputDirectory> | |
184 | - <resources> | |
185 | - <resource> | |
186 | - <directory>src/main/scripts/control</directory> | |
187 | - <filtering>true</filtering> | |
188 | - </resource> | |
189 | - </resources> | |
190 | - <filters> | |
191 | - <filter>src/main/filters/unix.properties</filter> | |
192 | - </filters> | |
193 | - </configuration> | |
194 | - </execution> | |
195 | - <execution> | |
196 | - <id>copy-windows-control</id> | |
197 | - <phase>process-resources</phase> | |
198 | - <goals> | |
199 | - <goal>copy-resources</goal> | |
200 | - </goals> | |
201 | - <configuration> | |
202 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
203 | - <resources> | |
204 | - <resource> | |
205 | - <directory>src/main/scripts/windows</directory> | |
206 | - <filtering>true</filtering> | |
207 | - </resource> | |
208 | - </resources> | |
209 | - <filters> | |
210 | - <filter>src/main/filters/windows.properties</filter> | |
211 | - </filters> | |
212 | - </configuration> | |
213 | - </execution> | |
214 | - <execution> | |
215 | - <id>copy-docker-config</id> | |
216 | - <phase>process-resources</phase> | |
217 | - <goals> | |
218 | - <goal>copy-resources</goal> | |
219 | - </goals> | |
220 | - <configuration> | |
221 | - <outputDirectory>${project.build.directory}</outputDirectory> | |
222 | - <resources> | |
223 | - <resource> | |
224 | - <directory>docker</directory> | |
225 | - <filtering>true</filtering> | |
226 | - </resource> | |
227 | - </resources> | |
228 | - </configuration> | |
229 | - </execution> | |
230 | - </executions> | |
231 | 96 | </plugin> |
232 | 97 | <plugin> |
233 | 98 | <groupId>org.thingsboard</groupId> |
234 | 99 | <artifactId>gradle-maven-plugin</artifactId> |
235 | - <configuration> | |
236 | - <tasks> | |
237 | - <task>build</task> | |
238 | - <task>buildDeb</task> | |
239 | - <task>buildRpm</task> | |
240 | - </tasks> | |
241 | - <args> | |
242 | - <arg>-PprojectBuildDir=${project.build.directory}</arg> | |
243 | - <arg>-PprojectVersion=${project.version}</arg> | |
244 | - <arg>-PpkgName=${pkg.name}</arg> | |
245 | - <arg>-PpkgUser=${pkg.user}</arg> | |
246 | - <arg>-PpkgInstallFolder=${pkg.installFolder}</arg> | |
247 | - <arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg> | |
248 | - </args> | |
249 | - </configuration> | |
250 | - <executions> | |
251 | - <execution> | |
252 | - <phase>package</phase> | |
253 | - <goals> | |
254 | - <goal>invoke</goal> | |
255 | - </goals> | |
256 | - </execution> | |
257 | - </executions> | |
258 | 100 | </plugin> |
259 | 101 | <plugin> |
260 | 102 | <groupId>org.apache.maven.plugins</groupId> |
261 | 103 | <artifactId>maven-assembly-plugin</artifactId> |
262 | - <version>3.0.0</version> | |
263 | - <configuration> | |
264 | - <finalName>${pkg.name}</finalName> | |
265 | - <descriptors> | |
266 | - <descriptor>src/main/assembly/windows.xml</descriptor> | |
267 | - </descriptors> | |
268 | - </configuration> | |
269 | - <executions> | |
270 | - <execution> | |
271 | - <id>assembly</id> | |
272 | - <phase>package</phase> | |
273 | - <goals> | |
274 | - <goal>single</goal> | |
275 | - </goals> | |
276 | - </execution> | |
277 | - </executions> | |
278 | 104 | </plugin> |
279 | 105 | <plugin> |
280 | 106 | <groupId>com.spotify</groupId> | ... | ... |
msa/js-executor/src/main/assembly/windows.xml
deleted
100644 → 0
1 | -<!-- | |
2 | - | |
3 | - Copyright © 2016-2020 The Thingsboard Authors | |
4 | - | |
5 | - Licensed under the Apache License, Version 2.0 (the "License"); | |
6 | - you may not use this file except in compliance with the License. | |
7 | - You may obtain a copy of the License at | |
8 | - | |
9 | - http://www.apache.org/licenses/LICENSE-2.0 | |
10 | - | |
11 | - Unless required by applicable law or agreed to in writing, software | |
12 | - distributed under the License is distributed on an "AS IS" BASIS, | |
13 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 | - See the License for the specific language governing permissions and | |
15 | - limitations under the License. | |
16 | - | |
17 | ---> | |
18 | -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" | |
19 | - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
20 | - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> | |
21 | - <id>windows</id> | |
22 | - | |
23 | - <formats> | |
24 | - <format>zip</format> | |
25 | - </formats> | |
26 | - | |
27 | - <!-- Workaround to create logs directory --> | |
28 | - <fileSets> | |
29 | - <fileSet> | |
30 | - <directory>${pkg.win.dist}</directory> | |
31 | - <outputDirectory>logs</outputDirectory> | |
32 | - <excludes> | |
33 | - <exclude>*/**</exclude> | |
34 | - </excludes> | |
35 | - </fileSet> | |
36 | - <fileSet> | |
37 | - <directory>${pkg.win.dist}/conf</directory> | |
38 | - <outputDirectory>conf</outputDirectory> | |
39 | - <lineEnding>windows</lineEnding> | |
40 | - </fileSet> | |
41 | - </fileSets> | |
42 | - | |
43 | - <files> | |
44 | - <file> | |
45 | - <source>${pkg.win.dist}/bin/${pkg.name}.exe</source> | |
46 | - <outputDirectory>bin</outputDirectory> | |
47 | - <destName>${pkg.name}.exe</destName> | |
48 | - </file> | |
49 | - <file> | |
50 | - <source>${pkg.win.dist}/service.exe</source> | |
51 | - <outputDirectory/> | |
52 | - <destName>${pkg.name}.exe</destName> | |
53 | - </file> | |
54 | - <file> | |
55 | - <source>${pkg.win.dist}/service.xml</source> | |
56 | - <outputDirectory/> | |
57 | - <destName>${pkg.name}.xml</destName> | |
58 | - <lineEnding>windows</lineEnding> | |
59 | - </file> | |
60 | - <file> | |
61 | - <source>${pkg.win.dist}/install.bat</source> | |
62 | - <outputDirectory/> | |
63 | - <lineEnding>windows</lineEnding> | |
64 | - </file> | |
65 | - <file> | |
66 | - <source>${pkg.win.dist}/uninstall.bat</source> | |
67 | - <outputDirectory/> | |
68 | - <lineEnding>windows</lineEnding> | |
69 | - </file> | |
70 | - </files> | |
71 | -</assembly> |
msa/js-executor/src/main/scripts/control/deb/postrm
deleted
100644 → 0
msa/js-executor/src/main/scripts/windows/service.xml
deleted
100644 → 0
1 | -<!-- | |
2 | - | |
3 | - Copyright © 2016-2018 The Thingsboard Authors | |
4 | - | |
5 | - Licensed under the Apache License, Version 2.0 (the "License"); | |
6 | - you may not use this file except in compliance with the License. | |
7 | - You may obtain a copy of the License at | |
8 | - | |
9 | - http://www.apache.org/licenses/LICENSE-2.0 | |
10 | - | |
11 | - Unless required by applicable law or agreed to in writing, software | |
12 | - distributed under the License is distributed on an "AS IS" BASIS, | |
13 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 | - See the License for the specific language governing permissions and | |
15 | - limitations under the License. | |
16 | - | |
17 | ---> | |
18 | -<service> | |
19 | - <id>${pkg.name}</id> | |
20 | - <name>${project.name}</name> | |
21 | - <description>${project.description}</description> | |
22 | - <workingdirectory>%BASE%\bin</workingdirectory> | |
23 | - <logpath>${pkg.winWrapperLogFolder}</logpath> | |
24 | - <logmode>rotate</logmode> | |
25 | - <env name="NODE_CONFIG_DIR" value="%BASE%\conf" /> | |
26 | - <env name="LOG_FOLDER" value="${pkg.winWrapperLogFolder}" /> | |
27 | - <env name="NODE_ENV" value="production" /> | |
28 | - <executable>%BASE%\bin\${pkg.name}.exe</executable> | |
29 | -</service> |
... | ... | @@ -23,7 +23,7 @@ RUN chmod a+x /tmp/*.sh \ |
23 | 23 | |
24 | 24 | RUN yes | dpkg -i /tmp/${pkg.name}.deb |
25 | 25 | |
26 | -RUN update-rc.d ${pkg.name} disable | |
26 | +RUN systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : | |
27 | 27 | |
28 | 28 | RUN chmod 555 ${pkg.installFolder}/bin/${pkg.name}.jar |
29 | 29 | ... | ... |
... | ... | @@ -23,7 +23,7 @@ RUN chmod a+x /tmp/*.sh \ |
23 | 23 | |
24 | 24 | RUN yes | dpkg -i /tmp/${pkg.name}.deb |
25 | 25 | |
26 | -RUN update-rc.d ${pkg.name} disable | |
26 | +RUN systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : | |
27 | 27 | |
28 | 28 | RUN chmod 555 ${pkg.installFolder}/bin/${pkg.name}.jar |
29 | 29 | ... | ... |
... | ... | @@ -23,7 +23,7 @@ RUN chmod a+x /tmp/*.sh \ |
23 | 23 | |
24 | 24 | RUN yes | dpkg -i /tmp/${pkg.name}.deb |
25 | 25 | |
26 | -RUN update-rc.d ${pkg.name} disable | |
26 | +RUN systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : | |
27 | 27 | |
28 | 28 | RUN chmod 555 ${pkg.installFolder}/bin/${pkg.name}.jar |
29 | 29 | ... | ... |
... | ... | @@ -23,7 +23,7 @@ RUN chmod a+x /tmp/*.sh \ |
23 | 23 | |
24 | 24 | RUN yes | dpkg -i /tmp/${pkg.name}.deb |
25 | 25 | |
26 | -RUN update-rc.d ${pkg.name} disable | |
26 | +RUN systemctl --no-reload disable --now ${pkg.name}.service > /dev/null 2>&1 || : | |
27 | 27 | |
28 | 28 | RUN chmod 555 ${pkg.installFolder}/bin/${pkg.name} |
29 | 29 | ... | ... |
... | ... | @@ -35,9 +35,13 @@ |
35 | 35 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
36 | 36 | <main.dir>${basedir}/../..</main.dir> |
37 | 37 | <pkg.name>tb-web-ui</pkg.name> |
38 | + <pkg.type>js</pkg.type> | |
38 | 39 | <docker.name>tb-web-ui</docker.name> |
39 | - <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | |
40 | - <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | |
40 | + <pkg.name>tb-web-ui</pkg.name> | |
41 | + <pkg.type>js</pkg.type> | |
42 | + <pkg.disabled>false</pkg.disabled> | |
43 | + <pkg.process-resources.phase>process-resources</pkg.process-resources.phase> | |
44 | + <pkg.package.phase>package</pkg.package.phase> | |
41 | 45 | <pkg.linux.dist>${project.build.directory}/package/linux</pkg.linux.dist> |
42 | 46 | <pkg.win.dist>${project.build.directory}/package/windows</pkg.win.dist> |
43 | 47 | </properties> |
... | ... | @@ -136,170 +140,185 @@ |
136 | 140 | <plugin> |
137 | 141 | <groupId>org.apache.maven.plugins</groupId> |
138 | 142 | <artifactId>maven-resources-plugin</artifactId> |
139 | - <executions> | |
140 | - <execution> | |
141 | - <id>copy-linux-conf</id> | |
142 | - <phase>process-resources</phase> | |
143 | - <goals> | |
144 | - <goal>copy-resources</goal> | |
145 | - </goals> | |
146 | - <configuration> | |
147 | - <outputDirectory>${pkg.linux.dist}/conf</outputDirectory> | |
148 | - <resources> | |
149 | - <resource> | |
150 | - <directory>config</directory> | |
151 | - <filtering>true</filtering> | |
152 | - </resource> | |
153 | - </resources> | |
154 | - <filters> | |
155 | - <filter>src/main/filters/unix.properties</filter> | |
156 | - </filters> | |
157 | - </configuration> | |
158 | - </execution> | |
159 | - <execution> | |
160 | - <id>copy-linux-init</id> | |
161 | - <phase>process-resources</phase> | |
162 | - <goals> | |
163 | - <goal>copy-resources</goal> | |
164 | - </goals> | |
165 | - <configuration> | |
166 | - <outputDirectory>${pkg.linux.dist}/init</outputDirectory> | |
167 | - <resources> | |
168 | - <resource> | |
169 | - <directory>src/main/scripts/init</directory> | |
170 | - <filtering>true</filtering> | |
171 | - </resource> | |
172 | - </resources> | |
173 | - <filters> | |
174 | - <filter>src/main/filters/unix.properties</filter> | |
175 | - </filters> | |
176 | - </configuration> | |
177 | - </execution> | |
178 | - <execution> | |
179 | - <id>copy-win-conf</id> | |
180 | - <phase>process-resources</phase> | |
181 | - <goals> | |
182 | - <goal>copy-resources</goal> | |
183 | - </goals> | |
184 | - <configuration> | |
185 | - <outputDirectory>${pkg.win.dist}/conf</outputDirectory> | |
186 | - <resources> | |
187 | - <resource> | |
188 | - <directory>config</directory> | |
189 | - <excludes> | |
190 | - <exclude>tb-web-ui.conf</exclude> | |
191 | - </excludes> | |
192 | - <filtering>true</filtering> | |
193 | - </resource> | |
194 | - </resources> | |
195 | - <filters> | |
196 | - <filter>src/main/filters/windows.properties</filter> | |
197 | - </filters> | |
198 | - </configuration> | |
199 | - </execution> | |
200 | - <execution> | |
201 | - <id>copy-control</id> | |
202 | - <phase>process-resources</phase> | |
203 | - <goals> | |
204 | - <goal>copy-resources</goal> | |
205 | - </goals> | |
206 | - <configuration> | |
207 | - <outputDirectory>${project.build.directory}/control</outputDirectory> | |
208 | - <resources> | |
209 | - <resource> | |
210 | - <directory>src/main/scripts/control</directory> | |
211 | - <filtering>true</filtering> | |
212 | - </resource> | |
213 | - </resources> | |
214 | - <filters> | |
215 | - <filter>src/main/filters/unix.properties</filter> | |
216 | - </filters> | |
217 | - </configuration> | |
218 | - </execution> | |
219 | - <execution> | |
220 | - <id>copy-windows-control</id> | |
221 | - <phase>process-resources</phase> | |
222 | - <goals> | |
223 | - <goal>copy-resources</goal> | |
224 | - </goals> | |
225 | - <configuration> | |
226 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
227 | - <resources> | |
228 | - <resource> | |
229 | - <directory>src/main/scripts/windows</directory> | |
230 | - <filtering>true</filtering> | |
231 | - </resource> | |
232 | - </resources> | |
233 | - <filters> | |
234 | - <filter>src/main/filters/windows.properties</filter> | |
235 | - </filters> | |
236 | - </configuration> | |
237 | - </execution> | |
238 | - <execution> | |
239 | - <id>copy-docker-config</id> | |
240 | - <phase>process-resources</phase> | |
241 | - <goals> | |
242 | - <goal>copy-resources</goal> | |
243 | - </goals> | |
244 | - <configuration> | |
245 | - <outputDirectory>${project.build.directory}</outputDirectory> | |
246 | - <resources> | |
247 | - <resource> | |
248 | - <directory>docker</directory> | |
249 | - <filtering>true</filtering> | |
250 | - </resource> | |
251 | - </resources> | |
252 | - </configuration> | |
253 | - </execution> | |
254 | - </executions> | |
255 | 143 | </plugin> |
256 | 144 | <plugin> |
257 | 145 | <groupId>org.thingsboard</groupId> |
258 | 146 | <artifactId>gradle-maven-plugin</artifactId> |
259 | - <configuration> | |
260 | - <tasks> | |
261 | - <task>build</task> | |
262 | - <task>buildDeb</task> | |
263 | - <task>buildRpm</task> | |
264 | - </tasks> | |
265 | - <args> | |
266 | - <arg>-PprojectBuildDir=${project.build.directory}</arg> | |
267 | - <arg>-PprojectVersion=${project.version}</arg> | |
268 | - <arg>-PpkgName=${pkg.name}</arg> | |
269 | - <arg>-PpkgUser=${pkg.user}</arg> | |
270 | - <arg>-PpkgInstallFolder=${pkg.installFolder}</arg> | |
271 | - <arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg> | |
272 | - </args> | |
273 | - </configuration> | |
274 | - <executions> | |
275 | - <execution> | |
276 | - <phase>package</phase> | |
277 | - <goals> | |
278 | - <goal>invoke</goal> | |
279 | - </goals> | |
280 | - </execution> | |
281 | - </executions> | |
282 | 147 | </plugin> |
283 | 148 | <plugin> |
284 | 149 | <groupId>org.apache.maven.plugins</groupId> |
285 | 150 | <artifactId>maven-assembly-plugin</artifactId> |
286 | - <version>3.0.0</version> | |
287 | - <configuration> | |
288 | - <finalName>${pkg.name}</finalName> | |
289 | - <descriptors> | |
290 | - <descriptor>src/main/assembly/windows.xml</descriptor> | |
291 | - </descriptors> | |
292 | - </configuration> | |
293 | - <executions> | |
294 | - <execution> | |
295 | - <id>assembly</id> | |
296 | - <phase>package</phase> | |
297 | - <goals> | |
298 | - <goal>single</goal> | |
299 | - </goals> | |
300 | - </execution> | |
301 | - </executions> | |
302 | 151 | </plugin> |
152 | +<!-- <plugin>--> | |
153 | +<!-- <groupId>org.apache.maven.plugins</groupId>--> | |
154 | +<!-- <artifactId>maven-resources-plugin</artifactId>--> | |
155 | +<!-- <executions>--> | |
156 | +<!-- <execution>--> | |
157 | +<!-- <id>copy-linux-conf</id>--> | |
158 | +<!-- <phase>process-resources</phase>--> | |
159 | +<!-- <goals>--> | |
160 | +<!-- <goal>copy-resources</goal>--> | |
161 | +<!-- </goals>--> | |
162 | +<!-- <configuration>--> | |
163 | +<!-- <outputDirectory>${pkg.linux.dist}/conf</outputDirectory>--> | |
164 | +<!-- <resources>--> | |
165 | +<!-- <resource>--> | |
166 | +<!-- <directory>config</directory>--> | |
167 | +<!-- <filtering>true</filtering>--> | |
168 | +<!-- </resource>--> | |
169 | +<!-- </resources>--> | |
170 | +<!-- <filters>--> | |
171 | +<!-- <filter>src/main/filters/unix.properties</filter>--> | |
172 | +<!-- </filters>--> | |
173 | +<!-- </configuration>--> | |
174 | +<!-- </execution>--> | |
175 | +<!-- <execution>--> | |
176 | +<!-- <id>copy-linux-init</id>--> | |
177 | +<!-- <phase>process-resources</phase>--> | |
178 | +<!-- <goals>--> | |
179 | +<!-- <goal>copy-resources</goal>--> | |
180 | +<!-- </goals>--> | |
181 | +<!-- <configuration>--> | |
182 | +<!-- <outputDirectory>${pkg.linux.dist}/init</outputDirectory>--> | |
183 | +<!-- <resources>--> | |
184 | +<!-- <resource>--> | |
185 | +<!-- <directory>src/main/scripts/init</directory>--> | |
186 | +<!-- <filtering>true</filtering>--> | |
187 | +<!-- </resource>--> | |
188 | +<!-- </resources>--> | |
189 | +<!-- <filters>--> | |
190 | +<!-- <filter>src/main/filters/unix.properties</filter>--> | |
191 | +<!-- </filters>--> | |
192 | +<!-- </configuration>--> | |
193 | +<!-- </execution>--> | |
194 | +<!-- <execution>--> | |
195 | +<!-- <id>copy-win-conf</id>--> | |
196 | +<!-- <phase>process-resources</phase>--> | |
197 | +<!-- <goals>--> | |
198 | +<!-- <goal>copy-resources</goal>--> | |
199 | +<!-- </goals>--> | |
200 | +<!-- <configuration>--> | |
201 | +<!-- <outputDirectory>${pkg.win.dist}/conf</outputDirectory>--> | |
202 | +<!-- <resources>--> | |
203 | +<!-- <resource>--> | |
204 | +<!-- <directory>config</directory>--> | |
205 | +<!-- <excludes>--> | |
206 | +<!-- <exclude>tb-web-ui.conf</exclude>--> | |
207 | +<!-- </excludes>--> | |
208 | +<!-- <filtering>true</filtering>--> | |
209 | +<!-- </resource>--> | |
210 | +<!-- </resources>--> | |
211 | +<!-- <filters>--> | |
212 | +<!-- <filter>src/main/filters/windows.properties</filter>--> | |
213 | +<!-- </filters>--> | |
214 | +<!-- </configuration>--> | |
215 | +<!-- </execution>--> | |
216 | +<!-- <execution>--> | |
217 | +<!-- <id>copy-control</id>--> | |
218 | +<!-- <phase>process-resources</phase>--> | |
219 | +<!-- <goals>--> | |
220 | +<!-- <goal>copy-resources</goal>--> | |
221 | +<!-- </goals>--> | |
222 | +<!-- <configuration>--> | |
223 | +<!-- <outputDirectory>${project.build.directory}/control</outputDirectory>--> | |
224 | +<!-- <resources>--> | |
225 | +<!-- <resource>--> | |
226 | +<!-- <directory>src/main/scripts/control</directory>--> | |
227 | +<!-- <filtering>true</filtering>--> | |
228 | +<!-- </resource>--> | |
229 | +<!-- </resources>--> | |
230 | +<!-- <filters>--> | |
231 | +<!-- <filter>src/main/filters/unix.properties</filter>--> | |
232 | +<!-- </filters>--> | |
233 | +<!-- </configuration>--> | |
234 | +<!-- </execution>--> | |
235 | +<!-- <execution>--> | |
236 | +<!-- <id>copy-windows-control</id>--> | |
237 | +<!-- <phase>process-resources</phase>--> | |
238 | +<!-- <goals>--> | |
239 | +<!-- <goal>copy-resources</goal>--> | |
240 | +<!-- </goals>--> | |
241 | +<!-- <configuration>--> | |
242 | +<!-- <outputDirectory>${pkg.win.dist}</outputDirectory>--> | |
243 | +<!-- <resources>--> | |
244 | +<!-- <resource>--> | |
245 | +<!-- <directory>src/main/scripts/windows</directory>--> | |
246 | +<!-- <filtering>true</filtering>--> | |
247 | +<!-- </resource>--> | |
248 | +<!-- </resources>--> | |
249 | +<!-- <filters>--> | |
250 | +<!-- <filter>src/main/filters/windows.properties</filter>--> | |
251 | +<!-- </filters>--> | |
252 | +<!-- </configuration>--> | |
253 | +<!-- </execution>--> | |
254 | +<!-- <execution>--> | |
255 | +<!-- <id>copy-docker-config</id>--> | |
256 | +<!-- <phase>process-resources</phase>--> | |
257 | +<!-- <goals>--> | |
258 | +<!-- <goal>copy-resources</goal>--> | |
259 | +<!-- </goals>--> | |
260 | +<!-- <configuration>--> | |
261 | +<!-- <outputDirectory>${project.build.directory}</outputDirectory>--> | |
262 | +<!-- <resources>--> | |
263 | +<!-- <resource>--> | |
264 | +<!-- <directory>docker</directory>--> | |
265 | +<!-- <filtering>true</filtering>--> | |
266 | +<!-- </resource>--> | |
267 | +<!-- </resources>--> | |
268 | +<!-- </configuration>--> | |
269 | +<!-- </execution>--> | |
270 | +<!-- </executions>--> | |
271 | +<!-- </plugin>--> | |
272 | +<!-- <plugin>--> | |
273 | +<!-- <groupId>org.thingsboard</groupId>--> | |
274 | +<!-- <artifactId>gradle-maven-plugin</artifactId>--> | |
275 | +<!-- <configuration>--> | |
276 | +<!-- <gradleProjectDirectory>${basedir}</gradleProjectDirectory>--> | |
277 | +<!-- <tasks>--> | |
278 | +<!-- <task>build</task>--> | |
279 | +<!-- <task>buildDeb</task>--> | |
280 | +<!-- <task>buildRpm</task>--> | |
281 | +<!-- <task>renameDeb</task>--> | |
282 | +<!-- <task>renameRpm</task>--> | |
283 | +<!-- </tasks>--> | |
284 | +<!-- <args>--> | |
285 | +<!-- <arg>-PprojectBuildDir=${project.build.directory}</arg>--> | |
286 | +<!-- <arg>-PprojectVersion=${project.version}</arg>--> | |
287 | +<!-- <arg>-PpkgName=${pkg.name}</arg>--> | |
288 | +<!-- <arg>-PpkgUser=${pkg.user}</arg>--> | |
289 | +<!-- <arg>-PpkgInstallFolder=${pkg.installFolder}</arg>--> | |
290 | +<!-- <arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg>--> | |
291 | +<!-- </args>--> | |
292 | +<!-- </configuration>--> | |
293 | +<!-- <executions>--> | |
294 | +<!-- <execution>--> | |
295 | +<!-- <phase>package</phase>--> | |
296 | +<!-- <goals>--> | |
297 | +<!-- <goal>invoke</goal>--> | |
298 | +<!-- </goals>--> | |
299 | +<!-- </execution>--> | |
300 | +<!-- </executions>--> | |
301 | +<!-- </plugin>--> | |
302 | +<!-- <plugin>--> | |
303 | +<!-- <groupId>org.apache.maven.plugins</groupId>--> | |
304 | +<!-- <artifactId>maven-assembly-plugin</artifactId>--> | |
305 | +<!-- <version>3.0.0</version>--> | |
306 | +<!-- <configuration>--> | |
307 | +<!-- <finalName>${pkg.name}</finalName>--> | |
308 | +<!-- <descriptors>--> | |
309 | +<!-- <descriptor>../../packaging/js/assembly/windows.xml</descriptor>--> | |
310 | +<!-- </descriptors>--> | |
311 | +<!-- </configuration>--> | |
312 | +<!-- <executions>--> | |
313 | +<!-- <execution>--> | |
314 | +<!-- <id>assembly</id>--> | |
315 | +<!-- <phase>package</phase>--> | |
316 | +<!-- <goals>--> | |
317 | +<!-- <goal>single</goal>--> | |
318 | +<!-- </goals>--> | |
319 | +<!-- </execution>--> | |
320 | +<!-- </executions>--> | |
321 | +<!-- </plugin>--> | |
303 | 322 | <plugin> |
304 | 323 | <groupId>com.spotify</groupId> |
305 | 324 | <artifactId>dockerfile-maven-plugin</artifactId> | ... | ... |
msa/web-ui/src/main/filters/unix.properties
deleted
100644 → 0
1 | -pkg.logFolder=${pkg.unixLogFolder} | |
\ No newline at end of file |
msa/web-ui/src/main/filters/windows.properties
deleted
100644 → 0
msa/web-ui/src/main/scripts/control/deb/postinst
deleted
100644 → 0
msa/web-ui/src/main/scripts/control/deb/postrm
deleted
100644 → 0
msa/web-ui/src/main/scripts/control/deb/preinst
deleted
100644 → 0
1 | -#!/bin/sh | |
2 | - | |
3 | -if ! getent group ${pkg.user} >/dev/null; then | |
4 | - addgroup --system ${pkg.user} | |
5 | -fi | |
6 | - | |
7 | -if ! getent passwd ${pkg.user} >/dev/null; then | |
8 | - adduser --quiet \ | |
9 | - --system \ | |
10 | - --ingroup ${pkg.user} \ | |
11 | - --quiet \ | |
12 | - --disabled-login \ | |
13 | - --disabled-password \ | |
14 | - --home ${pkg.installFolder} \ | |
15 | - --no-create-home \ | |
16 | - -gecos "Thingsboard application" \ | |
17 | - ${pkg.user} | |
18 | -fi |
msa/web-ui/src/main/scripts/control/deb/prerm
deleted
100644 → 0
msa/web-ui/src/main/scripts/control/rpm/postinst
deleted
100644 → 0
msa/web-ui/src/main/scripts/control/rpm/postrm
deleted
100644 → 0
msa/web-ui/src/main/scripts/control/rpm/preinst
deleted
100644 → 0
msa/web-ui/src/main/scripts/control/rpm/prerm
deleted
100644 → 0
msa/web-ui/src/main/scripts/control/tb-web-ui.service
deleted
100644 → 0
msa/web-ui/src/main/scripts/init/tb-web-ui
deleted
100644 → 0
1 | -#!/bin/bash | |
2 | -# | |
3 | - | |
4 | - | |
5 | -### BEGIN INIT INFO | |
6 | -# Provides: tb-web-ui | |
7 | -# Required-Start: $remote_fs $syslog $network | |
8 | -# Required-Stop: $remote_fs $syslog $network | |
9 | -# Default-Start: 2 3 4 5 | |
10 | -# Default-Stop: 0 1 6 | |
11 | -# Short-Description: ${project.name} | |
12 | -# Description: ${project.description} | |
13 | -# chkconfig: 2345 99 01 | |
14 | -### END INIT INFO | |
15 | - | |
16 | -[[ -n "$DEBUG" ]] && set -x | |
17 | - | |
18 | -# Initialize variables that cannot be provided by a .conf file | |
19 | -WORKING_DIR="$(pwd)" | |
20 | -# shellcheck disable=SC2153 | |
21 | - | |
22 | -mainfile=${pkg.installFolder}/bin/${pkg.name} | |
23 | -configfile=${pkg.name}.conf | |
24 | - | |
25 | -# Follow symlinks to find the real script and detect init.d script | |
26 | -cd "$(dirname "$0")" || exit 1 | |
27 | -[[ -z "$initfile" ]] && initfile=$(pwd)/$(basename "$0") | |
28 | -while [[ -L "$initfile" ]]; do | |
29 | - [[ "$initfile" =~ init\.d ]] && init_script=$(basename "$initfile") | |
30 | - initfile=$(readlink "$initfile") | |
31 | - cd "$(dirname "$initfile")" || exit 1 | |
32 | - initfile=$(pwd)/$(basename "$initfile") | |
33 | -done | |
34 | -initfolder="$( (cd "$(dirname "initfile")" && pwd -P) )" | |
35 | -cd "$WORKING_DIR" || exit 1 | |
36 | - | |
37 | -# Initialize CONF_FOLDER location | |
38 | -[[ -z "$CONF_FOLDER" ]] && CONF_FOLDER="${pkg.installFolder}/conf" | |
39 | - | |
40 | -# shellcheck source=/dev/null | |
41 | -[[ -r "${CONF_FOLDER}/${configfile}" ]] && source "${CONF_FOLDER}/${configfile}" | |
42 | - | |
43 | -# Initialize PID/LOG locations if they weren't provided by the config file | |
44 | -[[ -z "$PID_FOLDER" ]] && PID_FOLDER="/var/run" | |
45 | -[[ -z "$LOG_FOLDER" ]] && LOG_FOLDER="${pkg.unixLogFolder}" | |
46 | -! [[ "$PID_FOLDER" == /* ]] && PID_FOLDER="$(dirname "$mainfile")"/"$PID_FOLDER" | |
47 | -! [[ "$LOG_FOLDER" == /* ]] && LOG_FOLDER="$(dirname "$mainfile")"/"$LOG_FOLDER" | |
48 | -! [[ -x "$PID_FOLDER" ]] && PID_FOLDER="/tmp" | |
49 | -! [[ -x "$LOG_FOLDER" ]] && LOG_FOLDER="/tmp" | |
50 | - | |
51 | -# Set up defaults | |
52 | -[[ -z "$MODE" ]] && MODE="auto" # modes are "auto", "service" or "run" | |
53 | -[[ -z "$USE_START_STOP_DAEMON" ]] && USE_START_STOP_DAEMON="true" | |
54 | - | |
55 | -# Create an identity for log/pid files | |
56 | -if [[ -z "$identity" ]]; then | |
57 | - if [[ -n "$init_script" ]]; then | |
58 | - identity="${init_script}" | |
59 | - else | |
60 | - identity=$(basename "${initfile%.*}")_${initfolder//\//} | |
61 | - fi | |
62 | -fi | |
63 | - | |
64 | -# Initialize log file name if not provided by the config file | |
65 | -[[ -z "$LOG_FILENAME" ]] && LOG_FILENAME="${identity}.log" | |
66 | - | |
67 | -# ANSI Colors | |
68 | -echoRed() { echo $'\e[0;31m'"$1"$'\e[0m'; } | |
69 | -echoGreen() { echo $'\e[0;32m'"$1"$'\e[0m'; } | |
70 | -echoYellow() { echo $'\e[0;33m'"$1"$'\e[0m'; } | |
71 | - | |
72 | -# Utility functions | |
73 | -checkPermissions() { | |
74 | - touch "$pid_file" &> /dev/null || { echoRed "Operation not permitted (cannot access pid file)"; return 4; } | |
75 | - touch "$log_file" &> /dev/null || { echoRed "Operation not permitted (cannot access log file)"; return 4; } | |
76 | -} | |
77 | - | |
78 | -isRunning() { | |
79 | - ps -p "$1" &> /dev/null | |
80 | -} | |
81 | - | |
82 | -await_file() { | |
83 | - end=$(date +%s) | |
84 | - let "end+=10" | |
85 | - while [[ ! -s "$1" ]] | |
86 | - do | |
87 | - now=$(date +%s) | |
88 | - if [[ $now -ge $end ]]; then | |
89 | - break | |
90 | - fi | |
91 | - sleep 1 | |
92 | - done | |
93 | -} | |
94 | - | |
95 | -# Determine the script mode | |
96 | -action="run" | |
97 | -if [[ "$MODE" == "auto" && -n "$init_script" ]] || [[ "$MODE" == "service" ]]; then | |
98 | - action="$1" | |
99 | - shift | |
100 | -fi | |
101 | - | |
102 | -# Build the pid and log filenames | |
103 | -if [[ "$identity" == "$init_script" ]] || [[ "$identity" == "$APP_NAME" ]]; then | |
104 | - PID_FOLDER="$PID_FOLDER/${identity}" | |
105 | - pid_subfolder=$PID_FOLDER | |
106 | -fi | |
107 | -pid_file="$PID_FOLDER/${identity}.pid" | |
108 | -log_file="$LOG_FOLDER/$LOG_FILENAME" | |
109 | - | |
110 | -# Determine the user to run as if we are root | |
111 | -# shellcheck disable=SC2012 | |
112 | -[[ $(id -u) == "0" ]] && run_user=$(ls -ld "$mainfile" | awk '{print $3}') | |
113 | - | |
114 | -arguments=($RUN_ARGS "$@") | |
115 | - | |
116 | -# Action functions | |
117 | -start() { | |
118 | - if [[ -f "$pid_file" ]]; then | |
119 | - pid=$(cat "$pid_file") | |
120 | - isRunning "$pid" && { echoYellow "Already running [$pid]"; return 0; } | |
121 | - fi | |
122 | - do_start "$@" | |
123 | -} | |
124 | - | |
125 | -do_start() { | |
126 | - working_dir=$(dirname "$mainfile") | |
127 | - pushd "$working_dir" > /dev/null | |
128 | - mkdir -p "$PID_FOLDER" &> /dev/null | |
129 | - if [[ -n "$run_user" ]]; then | |
130 | - checkPermissions || return $? | |
131 | - if [[ -z "$pid_subfolder" ]]; then | |
132 | - chown "$run_user" "$pid_subfolder" | |
133 | - fi | |
134 | - chown "$run_user" "$pid_file" | |
135 | - chown "$run_user" "$log_file" | |
136 | - if [ $USE_START_STOP_DAEMON = true ] && type start-stop-daemon > /dev/null 2>&1; then | |
137 | - start-stop-daemon --start --quiet \ | |
138 | - --chuid "$run_user" \ | |
139 | - --name "$identity" \ | |
140 | - --make-pidfile --pidfile "$pid_file" \ | |
141 | - --background --no-close \ | |
142 | - --startas "$mainfile" \ | |
143 | - --chdir "$working_dir" \ | |
144 | - -- "${arguments[@]}" \ | |
145 | - >> "$log_file" 2>&1 | |
146 | - await_file "$pid_file" | |
147 | - else | |
148 | - su -s /bin/sh -c "$mainfile $(printf "\"%s\" " "${arguments[@]}") >> \"$log_file\" 2>&1 & echo \$!" "$run_user" > "$pid_file" | |
149 | - fi | |
150 | - pid=$(cat "$pid_file") | |
151 | - else | |
152 | - checkPermissions || return $? | |
153 | - "$mainfile" "${arguments[@]}" >> "$log_file" 2>&1 & | |
154 | - pid=$! | |
155 | - disown $pid | |
156 | - echo "$pid" > "$pid_file" | |
157 | - fi | |
158 | - [[ -z $pid ]] && { echoRed "Failed to start"; return 1; } | |
159 | - echoGreen "Started [$pid]" | |
160 | -} | |
161 | - | |
162 | -stop() { | |
163 | - working_dir=$(dirname "$mainfile") | |
164 | - pushd "$working_dir" > /dev/null | |
165 | - [[ -f $pid_file ]] || { echoYellow "Not running (pidfile not found)"; return 0; } | |
166 | - pid=$(cat "$pid_file") | |
167 | - isRunning "$pid" || { echoYellow "Not running (process ${pid}). Removing stale pid file."; rm -f "$pid_file"; return 0; } | |
168 | - do_stop "$pid" "$pid_file" | |
169 | -} | |
170 | - | |
171 | -do_stop() { | |
172 | - kill -2 "$1" &> /dev/null || { echoRed "Unable to kill process $1"; return 1; } | |
173 | - for i in $(seq 1 60); do | |
174 | - isRunning "$1" || { echoGreen "Stopped [$1]"; rm -f "$2"; return 0; } | |
175 | - [[ $i -eq 30 ]] && kill -9 "$1" &> /dev/null | |
176 | - sleep 1 | |
177 | - done | |
178 | - echoRed "Unable to kill process $1"; | |
179 | - return 1; | |
180 | -} | |
181 | - | |
182 | -restart() { | |
183 | - stop && start | |
184 | -} | |
185 | - | |
186 | -orce_reload() { | |
187 | - working_dir=$(dirname "$mainfile") | |
188 | - pushd "$working_dir" > /dev/null | |
189 | - [[ -f $pid_file ]] || { echoRed "Not running (pidfile not found)"; return 7; } | |
190 | - pid=$(cat "$pid_file") | |
191 | - rm -f "$pid_file" | |
192 | - isRunning "$pid" || { echoRed "Not running (process ${pid} not found)"; return 7; } | |
193 | - do_stop "$pid" "$pid_file" | |
194 | - do_start | |
195 | -} | |
196 | - | |
197 | -status() { | |
198 | - working_dir=$(dirname "$mainfile") | |
199 | - pushd "$working_dir" > /dev/null | |
200 | - [[ -f "$pid_file" ]] || { echoRed "Not running"; return 3; } | |
201 | - pid=$(cat "$pid_file") | |
202 | - isRunning "$pid" || { echoRed "Not running (process ${pid} not found)"; return 1; } | |
203 | - echoGreen "Running [$pid]" | |
204 | - return 0 | |
205 | -} | |
206 | - | |
207 | -run() { | |
208 | - pushd "$(dirname "$mainfile")" > /dev/null | |
209 | - "$mainfile" "${arguments[@]}" | |
210 | - result=$? | |
211 | - popd > /dev/null | |
212 | - return "$result" | |
213 | -} | |
214 | - | |
215 | -# Call the appropriate action function | |
216 | -case "$action" in | |
217 | -start) | |
218 | - start "$@"; exit $?;; | |
219 | -stop) | |
220 | - stop "$@"; exit $?;; | |
221 | -restart) | |
222 | - restart "$@"; exit $?;; | |
223 | -force-reload) | |
224 | - force_reload "$@"; exit $?;; | |
225 | -status) | |
226 | - status "$@"; exit $?;; | |
227 | -run) | |
228 | - run "$@"; exit $?;; | |
229 | -*) | |
230 | - echo "Usage: $0 {start|stop|restart|force-reload|status|run}"; exit 1; | |
231 | -esac | |
232 | - | |
233 | -exit 0 |
msa/web-ui/src/main/scripts/windows/install.bat
deleted
100644 → 0
1 | -@REM | |
2 | -@REM Copyright © 2016-2018 The Thingsboard Authors | |
3 | -@REM | |
4 | -@REM Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | -@REM you may not use this file except in compliance with the License. | |
6 | -@REM You may obtain a copy of the License at | |
7 | -@REM | |
8 | -@REM http://www.apache.org/licenses/LICENSE-2.0 | |
9 | -@REM | |
10 | -@REM Unless required by applicable law or agreed to in writing, software | |
11 | -@REM distributed under the License is distributed on an "AS IS" BASIS, | |
12 | -@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | -@REM See the License for the specific language governing permissions and | |
14 | -@REM limitations under the License. | |
15 | -@REM | |
16 | - | |
17 | -@ECHO OFF | |
18 | - | |
19 | -setlocal ENABLEEXTENSIONS | |
20 | - | |
21 | -@ECHO Installing ${pkg.name} ... | |
22 | - | |
23 | -SET BASE=%~dp0 | |
24 | - | |
25 | -"%BASE%"${pkg.name}.exe install | |
26 | - | |
27 | -@ECHO ${pkg.name} installed successfully! | |
28 | - | |
29 | -GOTO END | |
30 | - | |
31 | -:END |
msa/web-ui/src/main/scripts/windows/uninstall.bat
deleted
100644 → 0
1 | -@REM | |
2 | -@REM Copyright © 2016-2018 The Thingsboard Authors | |
3 | -@REM | |
4 | -@REM Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | -@REM you may not use this file except in compliance with the License. | |
6 | -@REM You may obtain a copy of the License at | |
7 | -@REM | |
8 | -@REM http://www.apache.org/licenses/LICENSE-2.0 | |
9 | -@REM | |
10 | -@REM Unless required by applicable law or agreed to in writing, software | |
11 | -@REM distributed under the License is distributed on an "AS IS" BASIS, | |
12 | -@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | -@REM See the License for the specific language governing permissions and | |
14 | -@REM limitations under the License. | |
15 | -@REM | |
16 | - | |
17 | -@ECHO OFF | |
18 | - | |
19 | -@ECHO Stopping ${pkg.name} ... | |
20 | -net stop ${pkg.name} | |
21 | - | |
22 | -@ECHO Uninstalling ${pkg.name} ... | |
23 | -"%~dp0"${pkg.name}.exe uninstall | |
24 | - | |
25 | -@ECHO DONE. | |
\ No newline at end of file |
packaging/java/assembly/windows.xml
renamed from
application/src/main/assembly/windows.xml
packaging/java/build.gradle
renamed from
application/build.gradle
... | ... | @@ -17,7 +17,7 @@ import org.apache.tools.ant.filters.ReplaceTokens |
17 | 17 | |
18 | 18 | buildscript { |
19 | 19 | ext { |
20 | - osPackageVersion = "3.8.0" | |
20 | + osPackageVersion = "8.3.0" | |
21 | 21 | } |
22 | 22 | repositories { |
23 | 23 | jcenter() |
... | ... | @@ -43,8 +43,8 @@ ospackage { |
43 | 43 | |
44 | 44 | into pkgInstallFolder |
45 | 45 | |
46 | - user pkgName | |
47 | - permissionGroup pkgName | |
46 | + user pkgUser | |
47 | + permissionGroup pkgUser | |
48 | 48 | |
49 | 49 | // Copy the actual .jar file |
50 | 50 | from(mainJar) { |
... | ... | @@ -56,23 +56,25 @@ ospackage { |
56 | 56 | into "bin" |
57 | 57 | } |
58 | 58 | |
59 | - // Copy the install files | |
60 | - from("target/bin/install/install.sh") { | |
61 | - fileMode 0775 | |
62 | - into "bin/install" | |
63 | - } | |
59 | + if("${pkgCopyInstallScripts}".equalsIgnoreCase("true")) { | |
60 | + // Copy the install files | |
61 | + from("${buildDir}/bin/install/install.sh") { | |
62 | + fileMode 0775 | |
63 | + into "bin/install" | |
64 | + } | |
64 | 65 | |
65 | - from("target/bin/install/upgrade.sh") { | |
66 | - fileMode 0775 | |
67 | - into "bin/install" | |
68 | - } | |
66 | + from("${buildDir}/bin/install/upgrade.sh") { | |
67 | + fileMode 0775 | |
68 | + into "bin/install" | |
69 | + } | |
69 | 70 | |
70 | - from("target/bin/install/logback.xml") { | |
71 | - into "bin/install" | |
71 | + from("${buildDir}/bin/install/logback.xml") { | |
72 | + into "bin/install" | |
73 | + } | |
72 | 74 | } |
73 | 75 | |
74 | 76 | // Copy the config files |
75 | - from("target/conf") { | |
77 | + from("${buildDir}/conf") { | |
76 | 78 | exclude "${pkgName}.conf" |
77 | 79 | fileType CONFIG | NOREPLACE |
78 | 80 | fileMode 0754 |
... | ... | @@ -80,14 +82,14 @@ ospackage { |
80 | 82 | } |
81 | 83 | |
82 | 84 | // Copy the data files |
83 | - from("target/data") { | |
85 | + from("${buildDir}/data") { | |
84 | 86 | fileType CONFIG | NOREPLACE |
85 | 87 | fileMode 0754 |
86 | 88 | into "data" |
87 | 89 | } |
88 | 90 | |
89 | 91 | // Copy the extensions files |
90 | - from("target/extensions") { | |
92 | + from("${buildDir}/extensions") { | |
91 | 93 | into "extensions" |
92 | 94 | } |
93 | 95 | } |
... | ... | @@ -97,12 +99,12 @@ buildRpm { |
97 | 99 | |
98 | 100 | arch = NOARCH |
99 | 101 | |
100 | - version = projectVersion.replace('-', '') | |
101 | - archiveName = "${pkgName}.rpm" | |
102 | + archiveVersion = projectVersion.replace('-', '') | |
103 | + archiveFileName = "${pkgName}.rpm" | |
102 | 104 | |
103 | 105 | requires("java-1.8.0") |
104 | 106 | |
105 | - from("target/conf") { | |
107 | + from("${buildDir}/conf") { | |
106 | 108 | include "${pkgName}.conf" |
107 | 109 | filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm']) |
108 | 110 | fileType CONFIG | NOREPLACE |
... | ... | @@ -115,17 +117,19 @@ buildRpm { |
115 | 117 | preUninstall file("${buildDir}/control/rpm/prerm") |
116 | 118 | postUninstall file("${buildDir}/control/rpm/postrm") |
117 | 119 | |
118 | - user pkgName | |
119 | - permissionGroup pkgName | |
120 | + user pkgUser | |
121 | + permissionGroup pkgUser | |
120 | 122 | |
121 | 123 | // Copy the system unit files |
122 | - from("${buildDir}/control/${pkgName}.service") { | |
124 | + from("${buildDir}/control/template.service") { | |
123 | 125 | addParentDirs = false |
124 | 126 | fileMode 0644 |
125 | 127 | into "/usr/lib/systemd/system" |
128 | + rename { String filename -> | |
129 | + "${pkgName}.service" | |
130 | + } | |
126 | 131 | } |
127 | 132 | |
128 | - directory(pkgLogFolder, 0755) | |
129 | 133 | link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") |
130 | 134 | link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
131 | 135 | } |
... | ... | @@ -135,11 +139,11 @@ buildDeb { |
135 | 139 | |
136 | 140 | arch = "all" |
137 | 141 | |
138 | - archiveName = "${pkgName}.deb" | |
142 | + archiveFileName = "${pkgName}.deb" | |
139 | 143 | |
140 | 144 | requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") |
141 | 145 | |
142 | - from("target/conf") { | |
146 | + from("${buildDir}/conf") { | |
143 | 147 | include "${pkgName}.conf" |
144 | 148 | filter(ReplaceTokens, tokens: ['pkg.platform': 'deb']) |
145 | 149 | fileType CONFIG | NOREPLACE |
... | ... | @@ -157,18 +161,39 @@ buildDeb { |
157 | 161 | preUninstall file("${buildDir}/control/deb/prerm") |
158 | 162 | postUninstall file("${buildDir}/control/deb/postrm") |
159 | 163 | |
160 | - user pkgName | |
161 | - permissionGroup pkgName | |
164 | + user pkgUser | |
165 | + permissionGroup pkgUser | |
162 | 166 | |
163 | 167 | // Copy the system unit files |
164 | - from("${buildDir}/control/${pkgName}.service") { | |
168 | + from("${buildDir}/control/template.service") { | |
165 | 169 | addParentDirs = false |
166 | 170 | fileMode 0644 |
167 | 171 | into "/lib/systemd/system" |
172 | + rename { String filename -> | |
173 | + "${pkgName}.service" | |
174 | + } | |
168 | 175 | } |
169 | 176 | |
170 | - directory(pkgLogFolder, 0755) | |
171 | - link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar") | |
172 | 177 | link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") |
173 | 178 | link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
174 | 179 | } |
180 | + | |
181 | +task renameDeb(type: Copy) { | |
182 | + from("${buildDir}/") { | |
183 | + include '*.deb' | |
184 | + destinationDir file("${buildDir}/") | |
185 | + rename { String filename -> | |
186 | + "${pkgName}.deb" | |
187 | + } | |
188 | + } | |
189 | +} | |
190 | + | |
191 | +task renameRpm(type: Copy) { | |
192 | + from("${buildDir}/") { | |
193 | + include '*.rpm' | |
194 | + destinationDir file("${buildDir}/") | |
195 | + rename { String filename -> | |
196 | + "${pkgName}.rpm" | |
197 | + } | |
198 | + } | |
199 | +} | ... | ... |
packaging/java/filters/unix.properties
renamed from
application/src/main/filters/unix.properties
packaging/java/filters/windows.properties
renamed from
application/src/main/filters/windows.properties
packaging/java/scripts/control/deb/postinst
renamed from
application/src/main/scripts/control/deb/postinst
packaging/java/scripts/control/deb/postrm
renamed from
application/src/main/scripts/control/deb/postrm
packaging/java/scripts/control/deb/preinst
renamed from
application/src/main/scripts/control/deb/preinst
packaging/java/scripts/control/deb/prerm
renamed from
application/src/main/scripts/control/deb/prerm
packaging/java/scripts/control/rpm/postinst
renamed from
application/src/main/scripts/control/rpm/postinst
packaging/java/scripts/control/rpm/postrm
renamed from
application/src/main/scripts/control/rpm/postrm
packaging/java/scripts/control/rpm/preinst
renamed from
application/src/main/scripts/control/rpm/preinst
packaging/java/scripts/control/rpm/prerm
renamed from
application/src/main/scripts/control/rpm/prerm
packaging/java/scripts/control/template.service
renamed from
application/src/main/scripts/control/thingsboard.service
packaging/java/scripts/install/install.sh
renamed from
application/src/main/scripts/install/install.sh
packaging/java/scripts/install/install_dev_db.sh
renamed from
application/src/main/scripts/install/install_dev_db.sh
packaging/java/scripts/install/logback.xml
renamed from
application/src/main/scripts/install/logback.xml
packaging/java/scripts/install/upgrade.sh
renamed from
application/src/main/scripts/install/upgrade.sh
packaging/java/scripts/install/upgrade_dev_db.sh
renamed from
application/src/main/scripts/install/upgrade_dev_db.sh
packaging/java/scripts/windows/install.bat
renamed from
application/src/main/scripts/windows/install.bat
packaging/java/scripts/windows/install_dev_db.bat
renamed from
application/src/main/scripts/windows/install_dev_db.bat
packaging/java/scripts/windows/service.xml
renamed from
application/src/main/scripts/windows/service.xml
packaging/java/scripts/windows/uninstall.bat
renamed from
application/src/main/scripts/windows/uninstall.bat
packaging/java/scripts/windows/upgrade.bat
renamed from
application/src/main/scripts/windows/upgrade.bat
packaging/js/assembly/windows.xml
renamed from
msa/web-ui/src/main/assembly/windows.xml
packaging/js/build.gradle
renamed from
msa/web-ui/build.gradle
... | ... | @@ -17,7 +17,7 @@ import org.apache.tools.ant.filters.ReplaceTokens |
17 | 17 | |
18 | 18 | buildscript { |
19 | 19 | ext { |
20 | - osPackageVersion = "3.8.0" | |
20 | + osPackageVersion = "8.3.0" | |
21 | 21 | } |
22 | 22 | repositories { |
23 | 23 | jcenter() |
... | ... | @@ -47,26 +47,29 @@ ospackage { |
47 | 47 | permissionGroup pkgUser |
48 | 48 | |
49 | 49 | // Copy the executable file |
50 | - from("target/package/linux/bin/${pkgName}") { | |
50 | + from("${buildDir}/package/linux/bin/${pkgName}") { | |
51 | 51 | fileMode 0500 |
52 | 52 | into "bin" |
53 | 53 | } |
54 | 54 | |
55 | 55 | // Copy the init file |
56 | - from("target/package/linux/init/${pkgName}") { | |
56 | + from("${buildDir}/package/linux/init/template") { | |
57 | 57 | fileMode 0500 |
58 | 58 | into "init" |
59 | + rename { String filename -> | |
60 | + "${pkgName}" | |
61 | + } | |
59 | 62 | } |
60 | 63 | |
61 | 64 | // Copy the config files |
62 | - from("target/package/linux/conf") { | |
65 | + from("${buildDir}/package/linux/conf") { | |
63 | 66 | fileType CONFIG | NOREPLACE |
64 | 67 | fileMode 0754 |
65 | 68 | into "conf" |
66 | 69 | } |
67 | 70 | |
68 | 71 | // Copy web files |
69 | - from("target/web") { | |
72 | + from("${buildDir}/web") { | |
70 | 73 | into "web" |
71 | 74 | } |
72 | 75 | |
... | ... | @@ -77,8 +80,8 @@ buildRpm { |
77 | 80 | |
78 | 81 | arch = X86_64 |
79 | 82 | |
80 | - version = projectVersion.replace('-', '') | |
81 | - archiveName = "${pkgName}.rpm" | |
83 | + archiveVersion = projectVersion.replace('-', '') | |
84 | + archiveFileName = "${pkgName}.rpm" | |
82 | 85 | |
83 | 86 | preInstall file("${buildDir}/control/rpm/preinst") |
84 | 87 | postInstall file("${buildDir}/control/rpm/postinst") |
... | ... | @@ -89,13 +92,15 @@ buildRpm { |
89 | 92 | permissionGroup pkgUser |
90 | 93 | |
91 | 94 | // Copy the system unit files |
92 | - from("${buildDir}/control/${pkgName}.service") { | |
95 | + from("${buildDir}/control/template.service") { | |
93 | 96 | addParentDirs = false |
94 | 97 | fileMode 0644 |
95 | 98 | into "/usr/lib/systemd/system" |
99 | + rename { String filename -> | |
100 | + "${pkgName}.service" | |
101 | + } | |
96 | 102 | } |
97 | 103 | |
98 | - directory(pkgLogFolder, 0755) | |
99 | 104 | link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
100 | 105 | } |
101 | 106 | |
... | ... | @@ -104,7 +109,7 @@ buildDeb { |
104 | 109 | |
105 | 110 | arch = "amd64" |
106 | 111 | |
107 | - archiveName = "${pkgName}.deb" | |
112 | + archiveFileName = "${pkgName}.deb" | |
108 | 113 | |
109 | 114 | configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") |
110 | 115 | configurationFile("${pkgInstallFolder}/conf/custom-environment-variables.yml") |
... | ... | @@ -119,7 +124,35 @@ buildDeb { |
119 | 124 | user pkgUser |
120 | 125 | permissionGroup pkgUser |
121 | 126 | |
122 | - directory(pkgLogFolder, 0755) | |
123 | - link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/init/${pkgName}") | |
127 | + // Copy the system unit files | |
128 | + from("${buildDir}/control/template.service") { | |
129 | + addParentDirs = false | |
130 | + fileMode 0644 | |
131 | + into "/lib/systemd/system" | |
132 | + rename { String filename -> | |
133 | + "${pkgName}.service" | |
134 | + } | |
135 | + } | |
136 | + | |
124 | 137 | link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") |
125 | 138 | } |
139 | + | |
140 | +task renameDeb(type: Copy) { | |
141 | + from("${buildDir}/") { | |
142 | + include '*.deb' | |
143 | + destinationDir file("${buildDir}/") | |
144 | + rename { String filename -> | |
145 | + "${pkgName}.deb" | |
146 | + } | |
147 | + } | |
148 | +} | |
149 | + | |
150 | +task renameRpm(type: Copy) { | |
151 | + from("${buildDir}/") { | |
152 | + include '*.rpm' | |
153 | + destinationDir file("${buildDir}/") | |
154 | + rename { String filename -> | |
155 | + "${pkgName}.rpm" | |
156 | + } | |
157 | + } | |
158 | +} | ... | ... |
packaging/js/filters/unix.properties
renamed from
msa/js-executor/src/main/filters/unix.properties
packaging/js/filters/windows.properties
renamed from
msa/js-executor/src/main/filters/windows.properties
packaging/js/scripts/control/deb/postinst
renamed from
msa/js-executor/src/main/scripts/control/deb/postinst
packaging/js/scripts/control/deb/postrm
0 → 100644
packaging/js/scripts/control/deb/preinst
renamed from
msa/js-executor/src/main/scripts/control/deb/preinst
packaging/js/scripts/control/deb/prerm
renamed from
msa/js-executor/src/main/scripts/control/deb/prerm
packaging/js/scripts/control/rpm/postinst
renamed from
msa/js-executor/src/main/scripts/control/rpm/postinst
packaging/js/scripts/control/rpm/postrm
renamed from
msa/js-executor/src/main/scripts/control/rpm/postrm
packaging/js/scripts/control/rpm/preinst
renamed from
msa/js-executor/src/main/scripts/control/rpm/preinst
packaging/js/scripts/control/rpm/prerm
renamed from
msa/js-executor/src/main/scripts/control/rpm/prerm
packaging/js/scripts/control/template.service
renamed from
msa/js-executor/src/main/scripts/control/tb-js-executor.service
packaging/js/scripts/init/template
renamed from
msa/js-executor/src/main/scripts/init/tb-js-executor
packaging/js/scripts/windows/install.bat
renamed from
msa/js-executor/src/main/scripts/windows/install.bat
packaging/js/scripts/windows/service.xml
renamed from
msa/web-ui/src/main/scripts/windows/service.xml
packaging/js/scripts/windows/uninstall.bat
renamed from
msa/js-executor/src/main/scripts/windows/uninstall.bat
... | ... | @@ -29,7 +29,13 @@ |
29 | 29 | |
30 | 30 | <properties> |
31 | 31 | <main.dir>${basedir}</main.dir> |
32 | + <pkg.disabled>true</pkg.disabled> | |
33 | + <pkg.process-resources.phase>none</pkg.process-resources.phase> | |
34 | + <pkg.package.phase>none</pkg.package.phase> | |
32 | 35 | <pkg.user>thingsboard</pkg.user> |
36 | + <pkg.implementationTitle>${project.name}</pkg.implementationTitle> | |
37 | + <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | |
38 | + <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | |
33 | 39 | <spring-boot.version>2.2.6.RELEASE</spring-boot.version> |
34 | 40 | <spring-oauth2.version>2.1.2.RELEASE</spring-oauth2.version> |
35 | 41 | <spring.version>5.2.6.RELEASE</spring.version> |
... | ... | @@ -132,6 +138,394 @@ |
132 | 138 | <downloadJavadocs>true</downloadJavadocs> |
133 | 139 | </properties> |
134 | 140 | </profile> |
141 | + | |
142 | + <profile> | |
143 | + <id>packaging</id> | |
144 | + <activation> | |
145 | + <activeByDefault>true</activeByDefault> | |
146 | + </activation> | |
147 | + <build> | |
148 | + <pluginManagement> | |
149 | + <plugins> | |
150 | + <plugin> | |
151 | + <groupId>org.apache.maven.plugins</groupId> | |
152 | + <artifactId>maven-resources-plugin</artifactId> | |
153 | + <executions> | |
154 | + <execution> | |
155 | + <id>copy-conf</id> | |
156 | + <phase>${pkg.process-resources.phase}</phase> | |
157 | + <goals> | |
158 | + <goal>copy-resources</goal> | |
159 | + </goals> | |
160 | + <configuration> | |
161 | + <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
162 | + <resources> | |
163 | + <resource> | |
164 | + <directory>src/main/resources</directory> | |
165 | + <excludes> | |
166 | + <exclude>logback.xml</exclude> | |
167 | + </excludes> | |
168 | + <filtering>false</filtering> | |
169 | + </resource> | |
170 | + </resources> | |
171 | + </configuration> | |
172 | + </execution> | |
173 | + <execution> | |
174 | + <id>copy-service-conf</id> | |
175 | + <phase>${pkg.process-resources.phase}</phase> | |
176 | + <goals> | |
177 | + <goal>copy-resources</goal> | |
178 | + </goals> | |
179 | + <configuration> | |
180 | + <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
181 | + <resources> | |
182 | + <resource> | |
183 | + <directory>src/main/conf</directory> | |
184 | + <filtering>true</filtering> | |
185 | + </resource> | |
186 | + </resources> | |
187 | + <filters> | |
188 | + <filter>${main.dir}/packaging/${pkg.type}/filters/unix.properties</filter> | |
189 | + </filters> | |
190 | + </configuration> | |
191 | + </execution> | |
192 | + <execution> | |
193 | + <id>copy-linux-conf</id> | |
194 | + <phase>${pkg.process-resources.phase}</phase> | |
195 | + <goals> | |
196 | + <goal>copy-resources</goal> | |
197 | + </goals> | |
198 | + <configuration> | |
199 | + <outputDirectory>${pkg.linux.dist}/conf</outputDirectory> | |
200 | + <resources> | |
201 | + <resource> | |
202 | + <directory>config</directory> | |
203 | + <filtering>true</filtering> | |
204 | + </resource> | |
205 | + </resources> | |
206 | + <filters> | |
207 | + <filter>${main.dir}/packaging/${pkg.type}/filters/unix.properties</filter> | |
208 | + </filters> | |
209 | + </configuration> | |
210 | + </execution> | |
211 | + <execution> | |
212 | + <id>copy-linux-init</id> | |
213 | + <phase>${pkg.process-resources.phase}</phase> | |
214 | + <goals> | |
215 | + <goal>copy-resources</goal> | |
216 | + </goals> | |
217 | + <configuration> | |
218 | + <outputDirectory>${pkg.linux.dist}/init</outputDirectory> | |
219 | + <resources> | |
220 | + <resource> | |
221 | + <directory>${main.dir}/packaging/${pkg.type}/scripts/init</directory> | |
222 | + <filtering>true</filtering> | |
223 | + </resource> | |
224 | + </resources> | |
225 | + <filters> | |
226 | + <filter>${main.dir}/packaging/${pkg.type}/filters/unix.properties</filter> | |
227 | + </filters> | |
228 | + </configuration> | |
229 | + </execution> | |
230 | + <execution> | |
231 | + <id>copy-win-conf</id> | |
232 | + <phase>${pkg.process-resources.phase}</phase> | |
233 | + <goals> | |
234 | + <goal>copy-resources</goal> | |
235 | + </goals> | |
236 | + <configuration> | |
237 | + <outputDirectory>${pkg.win.dist}/conf</outputDirectory> | |
238 | + <resources> | |
239 | + <resource> | |
240 | + <directory>src/main/resources</directory> | |
241 | + <excludes> | |
242 | + <exclude>logback.xml</exclude> | |
243 | + </excludes> | |
244 | + <filtering>false</filtering> | |
245 | + </resource> | |
246 | + <resource> | |
247 | + <directory>src/main/conf</directory> | |
248 | + <excludes> | |
249 | + <exclude>${pkg.name}.conf</exclude> | |
250 | + </excludes> | |
251 | + <filtering>true</filtering> | |
252 | + </resource> | |
253 | + </resources> | |
254 | + <filters> | |
255 | + <filter>${main.dir}/packaging/${pkg.type}/filters/windows.properties</filter> | |
256 | + </filters> | |
257 | + </configuration> | |
258 | + </execution> | |
259 | + <execution> | |
260 | + <id>copy-control</id> | |
261 | + <phase>${pkg.process-resources.phase}</phase> | |
262 | + <goals> | |
263 | + <goal>copy-resources</goal> | |
264 | + </goals> | |
265 | + <configuration> | |
266 | + <outputDirectory>${project.build.directory}/control</outputDirectory> | |
267 | + <resources> | |
268 | + <resource> | |
269 | + <directory>${main.dir}/packaging/${pkg.type}/scripts/control</directory> | |
270 | + <filtering>true</filtering> | |
271 | + </resource> | |
272 | + </resources> | |
273 | + <filters> | |
274 | + <filter>${main.dir}/packaging/${pkg.type}/filters/unix.properties</filter> | |
275 | + </filters> | |
276 | + </configuration> | |
277 | + </execution> | |
278 | + <execution> | |
279 | + <id>copy-install</id> | |
280 | + <phase>${pkg.process-resources.phase}</phase> | |
281 | + <goals> | |
282 | + <goal>copy-resources</goal> | |
283 | + </goals> | |
284 | + <configuration> | |
285 | + <outputDirectory>${project.build.directory}/bin/install</outputDirectory> | |
286 | + <resources> | |
287 | + <resource> | |
288 | + <directory>${main.dir}/packaging/${pkg.type}/scripts/install</directory> | |
289 | + <includes> | |
290 | + <include>**/*.sh</include> | |
291 | + <include>**/*.xml</include> | |
292 | + </includes> | |
293 | + <filtering>true</filtering> | |
294 | + </resource> | |
295 | + </resources> | |
296 | + <filters> | |
297 | + <filter>${main.dir}/packaging/${pkg.type}/filters/unix.properties</filter> | |
298 | + </filters> | |
299 | + </configuration> | |
300 | + </execution> | |
301 | + <execution> | |
302 | + <id>copy-windows-control</id> | |
303 | + <phase>${pkg.process-resources.phase}</phase> | |
304 | + <goals> | |
305 | + <goal>copy-resources</goal> | |
306 | + </goals> | |
307 | + <configuration> | |
308 | + <outputDirectory>${pkg.win.dist}</outputDirectory> | |
309 | + <resources> | |
310 | + <resource> | |
311 | + <directory>${main.dir}/packaging/${pkg.type}/scripts/windows</directory> | |
312 | + <filtering>true</filtering> | |
313 | + </resource> | |
314 | + </resources> | |
315 | + <filters> | |
316 | + <filter>${main.dir}/packaging/${pkg.type}/filters/windows.properties</filter> | |
317 | + </filters> | |
318 | + </configuration> | |
319 | + </execution> | |
320 | + <execution> | |
321 | + <id>copy-windows-install</id> | |
322 | + <phase>${pkg.process-resources.phase}</phase> | |
323 | + <goals> | |
324 | + <goal>copy-resources</goal> | |
325 | + </goals> | |
326 | + <configuration> | |
327 | + <outputDirectory>${pkg.win.dist}/install</outputDirectory> | |
328 | + <resources> | |
329 | + <resource> | |
330 | + <directory>${main.dir}/packaging/${pkg.type}/scripts/install</directory> | |
331 | + <includes> | |
332 | + <include>logback.xml</include> | |
333 | + </includes> | |
334 | + <filtering>true</filtering> | |
335 | + </resource> | |
336 | + </resources> | |
337 | + <filters> | |
338 | + <filter>${main.dir}/packaging/${pkg.type}/filters/windows.properties</filter> | |
339 | + </filters> | |
340 | + </configuration> | |
341 | + </execution> | |
342 | + <execution> | |
343 | + <id>copy-data</id> | |
344 | + <phase>${pkg.process-resources.phase}</phase> | |
345 | + <goals> | |
346 | + <goal>copy-resources</goal> | |
347 | + </goals> | |
348 | + <configuration> | |
349 | + <outputDirectory>${project.build.directory}/data</outputDirectory> | |
350 | + <resources> | |
351 | + <resource> | |
352 | + <directory>src/main/data</directory> | |
353 | + </resource> | |
354 | + <resource> | |
355 | + <directory>../dao/src/main/resources</directory> | |
356 | + <includes> | |
357 | + <include>**/*.cql</include> | |
358 | + <include>**/*.sql</include> | |
359 | + </includes> | |
360 | + <filtering>false</filtering> | |
361 | + </resource> | |
362 | + </resources> | |
363 | + </configuration> | |
364 | + </execution> | |
365 | + <execution> | |
366 | + <id>copy-docker-config</id> | |
367 | + <phase>${pkg.process-resources.phase}</phase> | |
368 | + <goals> | |
369 | + <goal>copy-resources</goal> | |
370 | + </goals> | |
371 | + <configuration> | |
372 | + <outputDirectory>${project.build.directory}</outputDirectory> | |
373 | + <resources> | |
374 | + <resource> | |
375 | + <directory>docker</directory> | |
376 | + <filtering>true</filtering> | |
377 | + </resource> | |
378 | + </resources> | |
379 | + </configuration> | |
380 | + </execution> | |
381 | + </executions> | |
382 | + </plugin> | |
383 | + <plugin> | |
384 | + <groupId>org.apache.maven.plugins</groupId> | |
385 | + <artifactId>maven-dependency-plugin</artifactId> | |
386 | + <executions> | |
387 | + <execution> | |
388 | + <id>copy-winsw-service</id> | |
389 | + <phase>${pkg.package.phase}</phase> | |
390 | + <goals> | |
391 | + <goal>copy</goal> | |
392 | + </goals> | |
393 | + <configuration> | |
394 | + <artifactItems> | |
395 | + <artifactItem> | |
396 | + <groupId>com.sun.winsw</groupId> | |
397 | + <artifactId>winsw</artifactId> | |
398 | + <classifier>bin</classifier> | |
399 | + <type>exe</type> | |
400 | + <destFileName>service.exe</destFileName> | |
401 | + </artifactItem> | |
402 | + </artifactItems> | |
403 | + <outputDirectory>${pkg.win.dist}</outputDirectory> | |
404 | + </configuration> | |
405 | + </execution> | |
406 | + </executions> | |
407 | + </plugin> | |
408 | + <plugin> | |
409 | + <groupId>org.apache.maven.plugins</groupId> | |
410 | + <artifactId>maven-jar-plugin</artifactId> | |
411 | + <configuration> | |
412 | + <excludes> | |
413 | + <exclude>**/logback.xml</exclude> | |
414 | + </excludes> | |
415 | + <archive> | |
416 | + <manifestEntries> | |
417 | + <Implementation-Title>${pkg.implementationTitle}</Implementation-Title> | |
418 | + <Implementation-Version>${project.version}</Implementation-Version> | |
419 | + </manifestEntries> | |
420 | + </archive> | |
421 | + </configuration> | |
422 | + </plugin> | |
423 | + <plugin> | |
424 | + <groupId>org.springframework.boot</groupId> | |
425 | + <artifactId>spring-boot-maven-plugin</artifactId> | |
426 | + <configuration> | |
427 | + <skip>${pkg.disabled}</skip> | |
428 | + <mainClass>${pkg.mainClass}</mainClass> | |
429 | + <classifier>boot</classifier> | |
430 | + <layout>ZIP</layout> | |
431 | + <executable>true</executable> | |
432 | + <excludeDevtools>true</excludeDevtools> | |
433 | + <embeddedLaunchScriptProperties> | |
434 | + <confFolder>${pkg.installFolder}/conf</confFolder> | |
435 | + <logFolder>${pkg.unixLogFolder}</logFolder> | |
436 | + <logFilename>${pkg.name}.out</logFilename> | |
437 | + <initInfoProvides>${pkg.name}</initInfoProvides> | |
438 | + </embeddedLaunchScriptProperties> | |
439 | + </configuration> | |
440 | + <executions> | |
441 | + <execution> | |
442 | + <goals> | |
443 | + <goal>repackage</goal> | |
444 | + </goals> | |
445 | + </execution> | |
446 | + </executions> | |
447 | + </plugin> | |
448 | + <plugin> | |
449 | + <groupId>org.thingsboard</groupId> | |
450 | + <artifactId>gradle-maven-plugin</artifactId> | |
451 | + <configuration> | |
452 | + <gradleProjectDirectory>${main.dir}/packaging/${pkg.type}</gradleProjectDirectory> | |
453 | + <tasks> | |
454 | + <task>build</task> | |
455 | + <task>buildDeb</task> | |
456 | + <task>buildRpm</task> | |
457 | + <task>renameDeb</task> | |
458 | + <task>renameRpm</task> | |
459 | + </tasks> | |
460 | + <args> | |
461 | + <arg>-PpackagingDir=${main.dir}/packaging</arg> | |
462 | + <arg>-PprojectBuildDir=${basedir}/target</arg> | |
463 | + <arg>-PprojectVersion=${project.version}</arg> | |
464 | + <arg> | |
465 | + -PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging} | |
466 | + </arg> | |
467 | + <arg>-PpkgName=${pkg.name}</arg> | |
468 | + <arg>-PpkgUser=${pkg.user}</arg> | |
469 | + <arg>-PpkgInstallFolder=${pkg.installFolder}</arg> | |
470 | + <arg>-PpkgCopyInstallScripts=${pkg.copyInstallScripts}</arg> | |
471 | + <arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg> | |
472 | + <arg>--warning-mode</arg> | |
473 | + <arg>all</arg> | |
474 | + </args> | |
475 | + </configuration> | |
476 | + <executions> | |
477 | + <execution> | |
478 | + <phase>${pkg.package.phase}</phase> | |
479 | + <goals> | |
480 | + <goal>invoke</goal> | |
481 | + </goals> | |
482 | + </execution> | |
483 | + </executions> | |
484 | + </plugin> | |
485 | + <plugin> | |
486 | + <groupId>org.apache.maven.plugins</groupId> | |
487 | + <artifactId>maven-assembly-plugin</artifactId> | |
488 | + <configuration> | |
489 | + <finalName>${pkg.name}</finalName> | |
490 | + <descriptors> | |
491 | + <descriptor>${main.dir}/packaging/${pkg.type}/assembly/windows.xml</descriptor> | |
492 | + </descriptors> | |
493 | + </configuration> | |
494 | + <executions> | |
495 | + <execution> | |
496 | + <id>assembly</id> | |
497 | + <phase>${pkg.package.phase}</phase> | |
498 | + <goals> | |
499 | + <goal>single</goal> | |
500 | + </goals> | |
501 | + </execution> | |
502 | + </executions> | |
503 | + </plugin> | |
504 | + <plugin> | |
505 | + <groupId>org.apache.maven.plugins</groupId> | |
506 | + <artifactId>maven-install-plugin</artifactId> | |
507 | + <configuration> | |
508 | + <file>${project.build.directory}/${pkg.name}.deb</file> | |
509 | + <artifactId>${project.artifactId}</artifactId> | |
510 | + <groupId>${project.groupId}</groupId> | |
511 | + <version>${project.version}</version> | |
512 | + <classifier>deb</classifier> | |
513 | + <packaging>deb</packaging> | |
514 | + </configuration> | |
515 | + <executions> | |
516 | + <execution> | |
517 | + <id>install-deb</id> | |
518 | + <phase>${pkg.package.phase}</phase> | |
519 | + <goals> | |
520 | + <goal>install-file</goal> | |
521 | + </goals> | |
522 | + </execution> | |
523 | + </executions> | |
524 | + </plugin> | |
525 | + </plugins> | |
526 | + </pluginManagement> | |
527 | + </build> | |
528 | + </profile> | |
135 | 529 | </profiles> |
136 | 530 | |
137 | 531 | <build> |
... | ... | @@ -181,7 +575,7 @@ |
181 | 575 | <plugin> |
182 | 576 | <groupId>org.thingsboard</groupId> |
183 | 577 | <artifactId>gradle-maven-plugin</artifactId> |
184 | - <version>1.0.9</version> | |
578 | + <version>1.0.10</version> | |
185 | 579 | </plugin> |
186 | 580 | <plugin> |
187 | 581 | <groupId>org.apache.maven.plugins</groupId> |
... | ... | @@ -320,6 +714,12 @@ |
320 | 714 | <exclude>src/vendor/**</exclude> |
321 | 715 | <exclude>src/font/**</exclude> |
322 | 716 | <exclude>src/sh/**</exclude> |
717 | + <exclude>packaging/*/scripts/control/**</exclude> | |
718 | + <exclude>packaging/*/scripts/windows/**</exclude> | |
719 | + <exclude>packaging/*/scripts/init/**</exclude> | |
720 | + <exclude>**/*.log</exclude> | |
721 | + <exclude>**/*.current</exclude> | |
722 | + <exclude>.instance_id</exclude> | |
323 | 723 | <exclude>src/main/scripts/control/**</exclude> |
324 | 724 | <exclude>src/main/scripts/windows/**</exclude> |
325 | 725 | <exclude>src/main/resources/public/static/rulenode/**</exclude> |
... | ... | @@ -995,5 +1395,4 @@ |
995 | 1395 | <url>https://oss.sonatype.org/content/groups/public</url> |
996 | 1396 | </repository> |
997 | 1397 | </repositories> |
998 | - | |
999 | 1398 | </project> | ... | ... |
... | ... | @@ -159,31 +159,6 @@ |
159 | 159 | <groupId>org.codehaus.mojo</groupId> |
160 | 160 | <artifactId>build-helper-maven-plugin</artifactId> |
161 | 161 | </plugin> |
162 | - <plugin> | |
163 | - <groupId>org.springframework.boot</groupId> | |
164 | - <artifactId>spring-boot-maven-plugin</artifactId> | |
165 | - <configuration> | |
166 | - <mainClass>org.thingsboard.server.dao.queue.QueueBenchmark</mainClass> | |
167 | - <classifier>boot</classifier> | |
168 | - <layout>ZIP</layout> | |
169 | - <executable>true</executable> | |
170 | - <excludeDevtools>true</excludeDevtools> | |
171 | - <!--<embeddedLaunchScriptProperties>--> | |
172 | - <!--<confFolder>${pkg.installFolder}/conf</confFolder>--> | |
173 | - <!--<logFolder>${pkg.unixLogFolder}</logFolder>--> | |
174 | - <!--<logFilename>${pkg.name}.out</logFilename>--> | |
175 | - <!--<initInfoProvides>${pkg.name}</initInfoProvides>--> | |
176 | - <!--</embeddedLaunchScriptProperties>--> | |
177 | - </configuration> | |
178 | - <executions> | |
179 | - <execution> | |
180 | - <goals> | |
181 | - <goal>repackage</goal> | |
182 | - </goals> | |
183 | - </execution> | |
184 | - </executions> | |
185 | - </plugin> | |
186 | - | |
187 | 162 | </plugins> |
188 | 163 | </build> |
189 | 164 | ... | ... |
... | ... | @@ -70,7 +70,7 @@ public class TbMsgTimeseriesNode implements TbNode { |
70 | 70 | } catch (NumberFormatException e) { |
71 | 71 | } |
72 | 72 | } else { |
73 | - ts = System.currentTimeMillis(); | |
73 | + ts = msg.getTs(); | |
74 | 74 | } |
75 | 75 | String src = msg.getData(); |
76 | 76 | Map<Long, List<KvEntry>> tsKvMap = JsonConverter.convertToTelemetry(new JsonParser().parse(src), ts); | ... | ... |
transport/coap/build.gradle
deleted
100644 → 0
1 | -/** | |
2 | - * Copyright © 2016-2020 The Thingsboard Authors | |
3 | - * | |
4 | - * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | - * you may not use this file except in compliance with the License. | |
6 | - * You may obtain a copy of the License at | |
7 | - * | |
8 | - * http://www.apache.org/licenses/LICENSE-2.0 | |
9 | - * | |
10 | - * Unless required by applicable law or agreed to in writing, software | |
11 | - * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | - * See the License for the specific language governing permissions and | |
14 | - * limitations under the License. | |
15 | - */ | |
16 | -import org.apache.tools.ant.filters.ReplaceTokens | |
17 | - | |
18 | -buildscript { | |
19 | - ext { | |
20 | - osPackageVersion = "3.8.0" | |
21 | - } | |
22 | - repositories { | |
23 | - jcenter() | |
24 | - } | |
25 | - dependencies { | |
26 | - classpath("com.netflix.nebula:gradle-ospackage-plugin:${osPackageVersion}") | |
27 | - } | |
28 | -} | |
29 | - | |
30 | -apply plugin: "nebula.ospackage" | |
31 | - | |
32 | -buildDir = projectBuildDir | |
33 | -version = projectVersion | |
34 | -distsDirName = "./" | |
35 | - | |
36 | -// OS Package plugin configuration | |
37 | -ospackage { | |
38 | - packageName = pkgName | |
39 | - version = "${project.version}" | |
40 | - release = 1 | |
41 | - os = LINUX | |
42 | - type = BINARY | |
43 | - | |
44 | - into pkgInstallFolder | |
45 | - | |
46 | - user pkgName | |
47 | - permissionGroup pkgName | |
48 | - | |
49 | - // Copy the actual .jar file | |
50 | - from(mainJar) { | |
51 | - // Strip the version from the jar filename | |
52 | - rename { String fileName -> | |
53 | - "${pkgName}.jar" | |
54 | - } | |
55 | - fileMode 0500 | |
56 | - into "bin" | |
57 | - } | |
58 | - | |
59 | - // Copy the config files | |
60 | - from("target/conf") { | |
61 | - exclude "${pkgName}.conf" | |
62 | - fileType CONFIG | NOREPLACE | |
63 | - fileMode 0754 | |
64 | - into "conf" | |
65 | - } | |
66 | - | |
67 | -} | |
68 | - | |
69 | -// Configure our RPM build task | |
70 | -buildRpm { | |
71 | - | |
72 | - arch = NOARCH | |
73 | - | |
74 | - version = projectVersion.replace('-', '') | |
75 | - archiveName = "${pkgName}.rpm" | |
76 | - | |
77 | - requires("java-1.8.0") | |
78 | - | |
79 | - from("target/conf") { | |
80 | - include "${pkgName}.conf" | |
81 | - filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm']) | |
82 | - fileType CONFIG | NOREPLACE | |
83 | - fileMode 0754 | |
84 | - into "${pkgInstallFolder}/conf" | |
85 | - } | |
86 | - | |
87 | - preInstall file("${buildDir}/control/rpm/preinst") | |
88 | - postInstall file("${buildDir}/control/rpm/postinst") | |
89 | - preUninstall file("${buildDir}/control/rpm/prerm") | |
90 | - postUninstall file("${buildDir}/control/rpm/postrm") | |
91 | - | |
92 | - user pkgName | |
93 | - permissionGroup pkgName | |
94 | - | |
95 | - // Copy the system unit files | |
96 | - from("${buildDir}/control/${pkgName}.service") { | |
97 | - addParentDirs = false | |
98 | - fileMode 0644 | |
99 | - into "/usr/lib/systemd/system" | |
100 | - } | |
101 | - | |
102 | - directory(pkgLogFolder, 0755) | |
103 | - link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") | |
104 | - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") | |
105 | -} | |
106 | - | |
107 | -// Same as the buildRpm task | |
108 | -buildDeb { | |
109 | - | |
110 | - arch = "all" | |
111 | - | |
112 | - archiveName = "${pkgName}.deb" | |
113 | - | |
114 | - requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") | |
115 | - | |
116 | - from("target/conf") { | |
117 | - include "${pkgName}.conf" | |
118 | - filter(ReplaceTokens, tokens: ['pkg.platform': 'deb']) | |
119 | - fileType CONFIG | NOREPLACE | |
120 | - fileMode 0754 | |
121 | - into "${pkgInstallFolder}/conf" | |
122 | - } | |
123 | - | |
124 | - configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") | |
125 | - configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml") | |
126 | - configurationFile("${pkgInstallFolder}/conf/logback.xml") | |
127 | - | |
128 | - preInstall file("${buildDir}/control/deb/preinst") | |
129 | - postInstall file("${buildDir}/control/deb/postinst") | |
130 | - preUninstall file("${buildDir}/control/deb/prerm") | |
131 | - postUninstall file("${buildDir}/control/deb/postrm") | |
132 | - | |
133 | - user pkgName | |
134 | - permissionGroup pkgName | |
135 | - | |
136 | - directory(pkgLogFolder, 0755) | |
137 | - link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar") | |
138 | - link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") | |
139 | - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") | |
140 | -} |
... | ... | @@ -33,10 +33,15 @@ |
33 | 33 | <properties> |
34 | 34 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
35 | 35 | <main.dir>${basedir}/../..</main.dir> |
36 | + <pkg.type>java</pkg.type> | |
37 | + <pkg.disabled>false</pkg.disabled> | |
38 | + <pkg.process-resources.phase>process-resources</pkg.process-resources.phase> | |
39 | + <pkg.package.phase>package</pkg.package.phase> | |
36 | 40 | <pkg.name>tb-coap-transport</pkg.name> |
37 | - <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | |
38 | - <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | |
41 | + <pkg.copyInstallScripts>false</pkg.copyInstallScripts> | |
39 | 42 | <pkg.win.dist>${project.build.directory}/windows</pkg.win.dist> |
43 | + <pkg.implementationTitle>ThingsBoard CoAP Transport Service</pkg.implementationTitle> | |
44 | + <pkg.mainClass>org.thingsboard.server.coap.ThingsboardCoapTransportApplication</pkg.mainClass> | |
40 | 45 | </properties> |
41 | 46 | |
42 | 47 | <dependencies> |
... | ... | @@ -87,244 +92,30 @@ |
87 | 92 | <plugin> |
88 | 93 | <groupId>org.apache.maven.plugins</groupId> |
89 | 94 | <artifactId>maven-resources-plugin</artifactId> |
90 | - <executions> | |
91 | - <execution> | |
92 | - <id>copy-conf</id> | |
93 | - <phase>process-resources</phase> | |
94 | - <goals> | |
95 | - <goal>copy-resources</goal> | |
96 | - </goals> | |
97 | - <configuration> | |
98 | - <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
99 | - <resources> | |
100 | - <resource> | |
101 | - <directory>src/main/resources</directory> | |
102 | - <excludes> | |
103 | - <exclude>logback.xml</exclude> | |
104 | - </excludes> | |
105 | - <filtering>false</filtering> | |
106 | - </resource> | |
107 | - </resources> | |
108 | - </configuration> | |
109 | - </execution> | |
110 | - <execution> | |
111 | - <id>copy-service-conf</id> | |
112 | - <phase>process-resources</phase> | |
113 | - <goals> | |
114 | - <goal>copy-resources</goal> | |
115 | - </goals> | |
116 | - <configuration> | |
117 | - <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
118 | - <resources> | |
119 | - <resource> | |
120 | - <directory>src/main/conf</directory> | |
121 | - <filtering>true</filtering> | |
122 | - </resource> | |
123 | - </resources> | |
124 | - <filters> | |
125 | - <filter>src/main/filters/unix.properties</filter> | |
126 | - </filters> | |
127 | - </configuration> | |
128 | - </execution> | |
129 | - <execution> | |
130 | - <id>copy-win-conf</id> | |
131 | - <phase>process-resources</phase> | |
132 | - <goals> | |
133 | - <goal>copy-resources</goal> | |
134 | - </goals> | |
135 | - <configuration> | |
136 | - <outputDirectory>${pkg.win.dist}/conf</outputDirectory> | |
137 | - <resources> | |
138 | - <resource> | |
139 | - <directory>src/main/resources</directory> | |
140 | - <excludes> | |
141 | - <exclude>logback.xml</exclude> | |
142 | - </excludes> | |
143 | - <filtering>false</filtering> | |
144 | - </resource> | |
145 | - <resource> | |
146 | - <directory>src/main/conf</directory> | |
147 | - <excludes> | |
148 | - <exclude>tb-coap-transport.conf</exclude> | |
149 | - </excludes> | |
150 | - <filtering>true</filtering> | |
151 | - </resource> | |
152 | - </resources> | |
153 | - <filters> | |
154 | - <filter>src/main/filters/windows.properties</filter> | |
155 | - </filters> | |
156 | - </configuration> | |
157 | - </execution> | |
158 | - <execution> | |
159 | - <id>copy-control</id> | |
160 | - <phase>process-resources</phase> | |
161 | - <goals> | |
162 | - <goal>copy-resources</goal> | |
163 | - </goals> | |
164 | - <configuration> | |
165 | - <outputDirectory>${project.build.directory}/control</outputDirectory> | |
166 | - <resources> | |
167 | - <resource> | |
168 | - <directory>src/main/scripts/control</directory> | |
169 | - <filtering>true</filtering> | |
170 | - </resource> | |
171 | - </resources> | |
172 | - <filters> | |
173 | - <filter>src/main/filters/unix.properties</filter> | |
174 | - </filters> | |
175 | - </configuration> | |
176 | - </execution> | |
177 | - <execution> | |
178 | - <id>copy-windows-control</id> | |
179 | - <phase>process-resources</phase> | |
180 | - <goals> | |
181 | - <goal>copy-resources</goal> | |
182 | - </goals> | |
183 | - <configuration> | |
184 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
185 | - <resources> | |
186 | - <resource> | |
187 | - <directory>src/main/scripts/windows</directory> | |
188 | - <filtering>true</filtering> | |
189 | - </resource> | |
190 | - </resources> | |
191 | - <filters> | |
192 | - <filter>src/main/filters/windows.properties</filter> | |
193 | - </filters> | |
194 | - </configuration> | |
195 | - </execution> | |
196 | - </executions> | |
197 | 95 | </plugin> |
198 | 96 | <plugin> |
199 | 97 | <groupId>org.apache.maven.plugins</groupId> |
200 | 98 | <artifactId>maven-dependency-plugin</artifactId> |
201 | - <executions> | |
202 | - <execution> | |
203 | - <id>copy-winsw-service</id> | |
204 | - <phase>package</phase> | |
205 | - <goals> | |
206 | - <goal>copy</goal> | |
207 | - </goals> | |
208 | - <configuration> | |
209 | - <artifactItems> | |
210 | - <artifactItem> | |
211 | - <groupId>com.sun.winsw</groupId> | |
212 | - <artifactId>winsw</artifactId> | |
213 | - <classifier>bin</classifier> | |
214 | - <type>exe</type> | |
215 | - <destFileName>service.exe</destFileName> | |
216 | - </artifactItem> | |
217 | - </artifactItems> | |
218 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
219 | - </configuration> | |
220 | - </execution> | |
221 | - </executions> | |
222 | 99 | </plugin> |
223 | 100 | <plugin> |
224 | 101 | <groupId>org.apache.maven.plugins</groupId> |
225 | 102 | <artifactId>maven-jar-plugin</artifactId> |
226 | - <configuration> | |
227 | - <excludes> | |
228 | - <exclude>**/logback.xml</exclude> | |
229 | - </excludes> | |
230 | - <archive> | |
231 | - <manifestEntries> | |
232 | - <Implementation-Title>ThingsBoard CoAP Transport Service</Implementation-Title> | |
233 | - <Implementation-Version>${project.version}</Implementation-Version> | |
234 | - </manifestEntries> | |
235 | - </archive> | |
236 | - </configuration> | |
237 | 103 | </plugin> |
238 | 104 | <plugin> |
239 | 105 | <groupId>org.springframework.boot</groupId> |
240 | 106 | <artifactId>spring-boot-maven-plugin</artifactId> |
241 | - <configuration> | |
242 | - <mainClass>org.thingsboard.server.coap.ThingsboardCoapTransportApplication</mainClass> | |
243 | - <classifier>boot</classifier> | |
244 | - <layout>ZIP</layout> | |
245 | - <executable>true</executable> | |
246 | - <excludeDevtools>true</excludeDevtools> | |
247 | - <embeddedLaunchScriptProperties> | |
248 | - <confFolder>${pkg.installFolder}/conf</confFolder> | |
249 | - <logFolder>${pkg.unixLogFolder}</logFolder> | |
250 | - <logFilename>${pkg.name}.out</logFilename> | |
251 | - <initInfoProvides>${pkg.name}</initInfoProvides> | |
252 | - </embeddedLaunchScriptProperties> | |
253 | - </configuration> | |
254 | - <executions> | |
255 | - <execution> | |
256 | - <goals> | |
257 | - <goal>repackage</goal> | |
258 | - </goals> | |
259 | - </execution> | |
260 | - </executions> | |
261 | 107 | </plugin> |
262 | 108 | <plugin> |
263 | 109 | <groupId>org.thingsboard</groupId> |
264 | 110 | <artifactId>gradle-maven-plugin</artifactId> |
265 | - <configuration> | |
266 | - <tasks> | |
267 | - <task>build</task> | |
268 | - <task>buildDeb</task> | |
269 | - <task>buildRpm</task> | |
270 | - </tasks> | |
271 | - <args> | |
272 | - <arg>-PprojectBuildDir=${project.build.directory}</arg> | |
273 | - <arg>-PprojectVersion=${project.version}</arg> | |
274 | - <arg>-PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</arg> | |
275 | - <arg>-PpkgName=${pkg.name}</arg> | |
276 | - <arg>-PpkgInstallFolder=${pkg.installFolder}</arg> | |
277 | - <arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg> | |
278 | - </args> | |
279 | - </configuration> | |
280 | - <executions> | |
281 | - <execution> | |
282 | - <phase>package</phase> | |
283 | - <goals> | |
284 | - <goal>invoke</goal> | |
285 | - </goals> | |
286 | - </execution> | |
287 | - </executions> | |
288 | 111 | </plugin> |
289 | 112 | <plugin> |
290 | 113 | <groupId>org.apache.maven.plugins</groupId> |
291 | 114 | <artifactId>maven-assembly-plugin</artifactId> |
292 | - <configuration> | |
293 | - <finalName>${pkg.name}</finalName> | |
294 | - <descriptors> | |
295 | - <descriptor>src/main/assembly/windows.xml</descriptor> | |
296 | - </descriptors> | |
297 | - </configuration> | |
298 | - <executions> | |
299 | - <execution> | |
300 | - <id>assembly</id> | |
301 | - <phase>package</phase> | |
302 | - <goals> | |
303 | - <goal>single</goal> | |
304 | - </goals> | |
305 | - </execution> | |
306 | - </executions> | |
307 | 115 | </plugin> |
308 | 116 | <plugin> |
309 | 117 | <groupId>org.apache.maven.plugins</groupId> |
310 | 118 | <artifactId>maven-install-plugin</artifactId> |
311 | - <configuration> | |
312 | - <file>${project.build.directory}/${pkg.name}.deb</file> | |
313 | - <artifactId>${project.artifactId}</artifactId> | |
314 | - <groupId>${project.groupId}</groupId> | |
315 | - <version>${project.version}</version> | |
316 | - <classifier>deb</classifier> | |
317 | - <packaging>deb</packaging> | |
318 | - </configuration> | |
319 | - <executions> | |
320 | - <execution> | |
321 | - <id>install-deb</id> | |
322 | - <phase>package</phase> | |
323 | - <goals> | |
324 | - <goal>install-file</goal> | |
325 | - </goals> | |
326 | - </execution> | |
327 | - </executions> | |
328 | 119 | </plugin> |
329 | 120 | </plugins> |
330 | 121 | </build> | ... | ... |
transport/coap/src/main/assembly/windows.xml
deleted
100644 → 0
1 | -<!-- | |
2 | - | |
3 | - Copyright © 2016-2020 The Thingsboard Authors | |
4 | - | |
5 | - Licensed under the Apache License, Version 2.0 (the "License"); | |
6 | - you may not use this file except in compliance with the License. | |
7 | - You may obtain a copy of the License at | |
8 | - | |
9 | - http://www.apache.org/licenses/LICENSE-2.0 | |
10 | - | |
11 | - Unless required by applicable law or agreed to in writing, software | |
12 | - distributed under the License is distributed on an "AS IS" BASIS, | |
13 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 | - See the License for the specific language governing permissions and | |
15 | - limitations under the License. | |
16 | - | |
17 | ---> | |
18 | -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" | |
19 | - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
20 | - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> | |
21 | - <id>windows</id> | |
22 | - | |
23 | - <formats> | |
24 | - <format>zip</format> | |
25 | - </formats> | |
26 | - | |
27 | - <!-- Workaround to create logs directory --> | |
28 | - <fileSets> | |
29 | - <fileSet> | |
30 | - <directory>${pkg.win.dist}</directory> | |
31 | - <outputDirectory>logs</outputDirectory> | |
32 | - <excludes> | |
33 | - <exclude>*/**</exclude> | |
34 | - </excludes> | |
35 | - </fileSet> | |
36 | - <fileSet> | |
37 | - <directory>${pkg.win.dist}/conf</directory> | |
38 | - <outputDirectory>conf</outputDirectory> | |
39 | - <lineEnding>windows</lineEnding> | |
40 | - </fileSet> | |
41 | - </fileSets> | |
42 | - | |
43 | - <files> | |
44 | - <file> | |
45 | - <source>${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</source> | |
46 | - <outputDirectory>lib</outputDirectory> | |
47 | - <destName>${pkg.name}.jar</destName> | |
48 | - </file> | |
49 | - <file> | |
50 | - <source>${pkg.win.dist}/service.exe</source> | |
51 | - <outputDirectory/> | |
52 | - <destName>${pkg.name}.exe</destName> | |
53 | - </file> | |
54 | - <file> | |
55 | - <source>${pkg.win.dist}/service.xml</source> | |
56 | - <outputDirectory/> | |
57 | - <destName>${pkg.name}.xml</destName> | |
58 | - <lineEnding>windows</lineEnding> | |
59 | - </file> | |
60 | - <file> | |
61 | - <source>${pkg.win.dist}/install.bat</source> | |
62 | - <outputDirectory/> | |
63 | - <lineEnding>windows</lineEnding> | |
64 | - </file> | |
65 | - <file> | |
66 | - <source>${pkg.win.dist}/uninstall.bat</source> | |
67 | - <outputDirectory/> | |
68 | - <lineEnding>windows</lineEnding> | |
69 | - </file> | |
70 | - </files> | |
71 | -</assembly> |
transport/coap/src/main/filters/unix.properties
deleted
100644 → 0
1 | -pkg.logFolder=${pkg.unixLogFolder} | |
\ No newline at end of file |
transport/coap/src/main/filters/windows.properties
deleted
100644 → 0
transport/coap/src/main/scripts/control/deb/postinst
deleted
100644 → 0
transport/coap/src/main/scripts/control/deb/postrm
deleted
100644 → 0
transport/coap/src/main/scripts/control/deb/preinst
deleted
100644 → 0
1 | -#!/bin/sh | |
2 | - | |
3 | -if ! getent group ${pkg.user} >/dev/null; then | |
4 | - addgroup --system ${pkg.user} | |
5 | -fi | |
6 | - | |
7 | -if ! getent passwd ${pkg.user} >/dev/null; then | |
8 | - adduser --quiet \ | |
9 | - --system \ | |
10 | - --ingroup ${pkg.user} \ | |
11 | - --quiet \ | |
12 | - --disabled-login \ | |
13 | - --disabled-password \ | |
14 | - --home ${pkg.installFolder} \ | |
15 | - --no-create-home \ | |
16 | - -gecos "Thingsboard application" \ | |
17 | - ${pkg.user} | |
18 | -fi |
transport/coap/src/main/scripts/control/deb/prerm
deleted
100644 → 0
transport/coap/src/main/scripts/control/rpm/postinst
deleted
100644 → 0
transport/coap/src/main/scripts/control/rpm/postrm
deleted
100644 → 0
transport/coap/src/main/scripts/control/rpm/preinst
deleted
100644 → 0
transport/coap/src/main/scripts/control/rpm/prerm
deleted
100644 → 0
transport/coap/src/main/scripts/control/tb-coap-transport.service
deleted
100644 → 0
transport/coap/src/main/scripts/windows/install.bat
deleted
100644 → 0
1 | -@ECHO OFF | |
2 | - | |
3 | -setlocal ENABLEEXTENSIONS | |
4 | - | |
5 | -@ECHO Detecting Java version installed. | |
6 | -:CHECK_JAVA | |
7 | -for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k" | |
8 | -@ECHO CurrentVersion %jver% | |
9 | - | |
10 | -if %jver% NEQ 18 GOTO JAVA_NOT_INSTALLED | |
11 | - | |
12 | -:JAVA_INSTALLED | |
13 | - | |
14 | -@ECHO Java 1.8 found! | |
15 | -@ECHO Installing ${pkg.name} ... | |
16 | - | |
17 | -"%BASE%"${pkg.name}.exe install | |
18 | - | |
19 | -@ECHO ${pkg.name} installed successfully! | |
20 | - | |
21 | -GOTO END | |
22 | - | |
23 | -:JAVA_NOT_INSTALLED | |
24 | -@ECHO Java 1.8 is not installed. Only Java 1.8 is supported | |
25 | -@ECHO Please go to https://adoptopenjdk.net/index.html and install Java 1.8. Then retry installation. | |
26 | -PAUSE | |
27 | -GOTO END | |
28 | - | |
29 | -:END | |
30 | - | |
31 | - |
transport/coap/src/main/scripts/windows/service.xml
deleted
100644 → 0
1 | -<service> | |
2 | - <id>${pkg.name}</id> | |
3 | - <name>${project.name}</name> | |
4 | - <description>${project.description}</description> | |
5 | - <workingdirectory>%BASE%\conf</workingdirectory> | |
6 | - <logpath>${pkg.winWrapperLogFolder}</logpath> | |
7 | - <logmode>rotate</logmode> | |
8 | - <env name="LOADER_PATH" value="%BASE%\conf" /> | |
9 | - <executable>java</executable> | |
10 | - <startargument>-Xloggc:%BASE%\logs\gc.log</startargument> | |
11 | - <startargument>-XX:+HeapDumpOnOutOfMemoryError</startargument> | |
12 | - <startargument>-XX:+PrintGCDetails</startargument> | |
13 | - <startargument>-XX:+PrintGCDateStamps</startargument> | |
14 | - <startargument>-XX:+PrintHeapAtGC</startargument> | |
15 | - <startargument>-XX:+PrintTenuringDistribution</startargument> | |
16 | - <startargument>-XX:+PrintGCApplicationStoppedTime</startargument> | |
17 | - <startargument>-XX:+UseGCLogFileRotation</startargument> | |
18 | - <startargument>-XX:NumberOfGCLogFiles=10</startargument> | |
19 | - <startargument>-XX:GCLogFileSize=10M</startargument> | |
20 | - <startargument>-XX:-UseBiasedLocking</startargument> | |
21 | - <startargument>-XX:+UseTLAB</startargument> | |
22 | - <startargument>-XX:+ResizeTLAB</startargument> | |
23 | - <startargument>-XX:+PerfDisableSharedMem</startargument> | |
24 | - <startargument>-XX:+UseCondCardMark</startargument> | |
25 | - <startargument>-XX:CMSWaitDuration=10000</startargument> | |
26 | - <startargument>-XX:+UseParNewGC</startargument> | |
27 | - <startargument>-XX:+UseConcMarkSweepGC</startargument> | |
28 | - <startargument>-XX:+CMSParallelRemarkEnabled</startargument> | |
29 | - <startargument>-XX:+CMSParallelInitialMarkEnabled</startargument> | |
30 | - <startargument>-XX:+CMSEdenChunksRecordAlways</startargument> | |
31 | - <startargument>-XX:CMSInitiatingOccupancyFraction=75</startargument> | |
32 | - <startargument>-XX:+UseCMSInitiatingOccupancyOnly</startargument> | |
33 | - <startargument>-jar</startargument> | |
34 | - <startargument>%BASE%\lib\${pkg.name}.jar</startargument> | |
35 | - | |
36 | -</service> |
transport/coap/src/main/scripts/windows/uninstall.bat
deleted
100644 → 0
transport/http/build.gradle
deleted
100644 → 0
1 | -/** | |
2 | - * Copyright © 2016-2020 The Thingsboard Authors | |
3 | - * | |
4 | - * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | - * you may not use this file except in compliance with the License. | |
6 | - * You may obtain a copy of the License at | |
7 | - * | |
8 | - * http://www.apache.org/licenses/LICENSE-2.0 | |
9 | - * | |
10 | - * Unless required by applicable law or agreed to in writing, software | |
11 | - * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | - * See the License for the specific language governing permissions and | |
14 | - * limitations under the License. | |
15 | - */ | |
16 | -import org.apache.tools.ant.filters.ReplaceTokens | |
17 | - | |
18 | -buildscript { | |
19 | - ext { | |
20 | - osPackageVersion = "3.8.0" | |
21 | - } | |
22 | - repositories { | |
23 | - jcenter() | |
24 | - } | |
25 | - dependencies { | |
26 | - classpath("com.netflix.nebula:gradle-ospackage-plugin:${osPackageVersion}") | |
27 | - } | |
28 | -} | |
29 | - | |
30 | -apply plugin: "nebula.ospackage" | |
31 | - | |
32 | -buildDir = projectBuildDir | |
33 | -version = projectVersion | |
34 | -distsDirName = "./" | |
35 | - | |
36 | -// OS Package plugin configuration | |
37 | -ospackage { | |
38 | - packageName = pkgName | |
39 | - version = "${project.version}" | |
40 | - release = 1 | |
41 | - os = LINUX | |
42 | - type = BINARY | |
43 | - | |
44 | - into pkgInstallFolder | |
45 | - | |
46 | - user pkgName | |
47 | - permissionGroup pkgName | |
48 | - | |
49 | - // Copy the actual .jar file | |
50 | - from(mainJar) { | |
51 | - // Strip the version from the jar filename | |
52 | - rename { String fileName -> | |
53 | - "${pkgName}.jar" | |
54 | - } | |
55 | - fileMode 0500 | |
56 | - into "bin" | |
57 | - } | |
58 | - | |
59 | - // Copy the config files | |
60 | - from("target/conf") { | |
61 | - exclude "${pkgName}.conf" | |
62 | - fileType CONFIG | NOREPLACE | |
63 | - fileMode 0754 | |
64 | - into "conf" | |
65 | - } | |
66 | - | |
67 | -} | |
68 | - | |
69 | -// Configure our RPM build task | |
70 | -buildRpm { | |
71 | - | |
72 | - arch = NOARCH | |
73 | - | |
74 | - version = projectVersion.replace('-', '') | |
75 | - archiveName = "${pkgName}.rpm" | |
76 | - | |
77 | - requires("java-1.8.0") | |
78 | - | |
79 | - from("target/conf") { | |
80 | - include "${pkgName}.conf" | |
81 | - filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm']) | |
82 | - fileType CONFIG | NOREPLACE | |
83 | - fileMode 0754 | |
84 | - into "${pkgInstallFolder}/conf" | |
85 | - } | |
86 | - | |
87 | - preInstall file("${buildDir}/control/rpm/preinst") | |
88 | - postInstall file("${buildDir}/control/rpm/postinst") | |
89 | - preUninstall file("${buildDir}/control/rpm/prerm") | |
90 | - postUninstall file("${buildDir}/control/rpm/postrm") | |
91 | - | |
92 | - user pkgName | |
93 | - permissionGroup pkgName | |
94 | - | |
95 | - // Copy the system unit files | |
96 | - from("${buildDir}/control/${pkgName}.service") { | |
97 | - addParentDirs = false | |
98 | - fileMode 0644 | |
99 | - into "/usr/lib/systemd/system" | |
100 | - } | |
101 | - | |
102 | - directory(pkgLogFolder, 0755) | |
103 | - link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") | |
104 | - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") | |
105 | -} | |
106 | - | |
107 | -// Same as the buildRpm task | |
108 | -buildDeb { | |
109 | - | |
110 | - arch = "all" | |
111 | - | |
112 | - archiveName = "${pkgName}.deb" | |
113 | - | |
114 | - requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") | |
115 | - | |
116 | - from("target/conf") { | |
117 | - include "${pkgName}.conf" | |
118 | - filter(ReplaceTokens, tokens: ['pkg.platform': 'deb']) | |
119 | - fileType CONFIG | NOREPLACE | |
120 | - fileMode 0754 | |
121 | - into "${pkgInstallFolder}/conf" | |
122 | - } | |
123 | - | |
124 | - configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") | |
125 | - configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml") | |
126 | - configurationFile("${pkgInstallFolder}/conf/logback.xml") | |
127 | - | |
128 | - preInstall file("${buildDir}/control/deb/preinst") | |
129 | - postInstall file("${buildDir}/control/deb/postinst") | |
130 | - preUninstall file("${buildDir}/control/deb/prerm") | |
131 | - postUninstall file("${buildDir}/control/deb/postrm") | |
132 | - | |
133 | - user pkgName | |
134 | - permissionGroup pkgName | |
135 | - | |
136 | - directory(pkgLogFolder, 0755) | |
137 | - link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar") | |
138 | - link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") | |
139 | - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") | |
140 | -} |
... | ... | @@ -33,10 +33,15 @@ |
33 | 33 | <properties> |
34 | 34 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
35 | 35 | <main.dir>${basedir}/../..</main.dir> |
36 | + <pkg.type>java</pkg.type> | |
37 | + <pkg.disabled>false</pkg.disabled> | |
38 | + <pkg.process-resources.phase>process-resources</pkg.process-resources.phase> | |
39 | + <pkg.package.phase>package</pkg.package.phase> | |
36 | 40 | <pkg.name>tb-http-transport</pkg.name> |
37 | - <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | |
38 | - <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | |
41 | + <pkg.copyInstallScripts>false</pkg.copyInstallScripts> | |
39 | 42 | <pkg.win.dist>${project.build.directory}/windows</pkg.win.dist> |
43 | + <pkg.implementationTitle>ThingsBoard HTTP Transport Service</pkg.implementationTitle> | |
44 | + <pkg.mainClass>org.thingsboard.server.http.ThingsboardHttpTransportApplication</pkg.mainClass> | |
40 | 45 | </properties> |
41 | 46 | |
42 | 47 | <dependencies> |
... | ... | @@ -87,244 +92,30 @@ |
87 | 92 | <plugin> |
88 | 93 | <groupId>org.apache.maven.plugins</groupId> |
89 | 94 | <artifactId>maven-resources-plugin</artifactId> |
90 | - <executions> | |
91 | - <execution> | |
92 | - <id>copy-conf</id> | |
93 | - <phase>process-resources</phase> | |
94 | - <goals> | |
95 | - <goal>copy-resources</goal> | |
96 | - </goals> | |
97 | - <configuration> | |
98 | - <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
99 | - <resources> | |
100 | - <resource> | |
101 | - <directory>src/main/resources</directory> | |
102 | - <excludes> | |
103 | - <exclude>logback.xml</exclude> | |
104 | - </excludes> | |
105 | - <filtering>false</filtering> | |
106 | - </resource> | |
107 | - </resources> | |
108 | - </configuration> | |
109 | - </execution> | |
110 | - <execution> | |
111 | - <id>copy-service-conf</id> | |
112 | - <phase>process-resources</phase> | |
113 | - <goals> | |
114 | - <goal>copy-resources</goal> | |
115 | - </goals> | |
116 | - <configuration> | |
117 | - <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
118 | - <resources> | |
119 | - <resource> | |
120 | - <directory>src/main/conf</directory> | |
121 | - <filtering>true</filtering> | |
122 | - </resource> | |
123 | - </resources> | |
124 | - <filters> | |
125 | - <filter>src/main/filters/unix.properties</filter> | |
126 | - </filters> | |
127 | - </configuration> | |
128 | - </execution> | |
129 | - <execution> | |
130 | - <id>copy-win-conf</id> | |
131 | - <phase>process-resources</phase> | |
132 | - <goals> | |
133 | - <goal>copy-resources</goal> | |
134 | - </goals> | |
135 | - <configuration> | |
136 | - <outputDirectory>${pkg.win.dist}/conf</outputDirectory> | |
137 | - <resources> | |
138 | - <resource> | |
139 | - <directory>src/main/resources</directory> | |
140 | - <excludes> | |
141 | - <exclude>logback.xml</exclude> | |
142 | - </excludes> | |
143 | - <filtering>false</filtering> | |
144 | - </resource> | |
145 | - <resource> | |
146 | - <directory>src/main/conf</directory> | |
147 | - <excludes> | |
148 | - <exclude>tb-http-transport.conf</exclude> | |
149 | - </excludes> | |
150 | - <filtering>true</filtering> | |
151 | - </resource> | |
152 | - </resources> | |
153 | - <filters> | |
154 | - <filter>src/main/filters/windows.properties</filter> | |
155 | - </filters> | |
156 | - </configuration> | |
157 | - </execution> | |
158 | - <execution> | |
159 | - <id>copy-control</id> | |
160 | - <phase>process-resources</phase> | |
161 | - <goals> | |
162 | - <goal>copy-resources</goal> | |
163 | - </goals> | |
164 | - <configuration> | |
165 | - <outputDirectory>${project.build.directory}/control</outputDirectory> | |
166 | - <resources> | |
167 | - <resource> | |
168 | - <directory>src/main/scripts/control</directory> | |
169 | - <filtering>true</filtering> | |
170 | - </resource> | |
171 | - </resources> | |
172 | - <filters> | |
173 | - <filter>src/main/filters/unix.properties</filter> | |
174 | - </filters> | |
175 | - </configuration> | |
176 | - </execution> | |
177 | - <execution> | |
178 | - <id>copy-windows-control</id> | |
179 | - <phase>process-resources</phase> | |
180 | - <goals> | |
181 | - <goal>copy-resources</goal> | |
182 | - </goals> | |
183 | - <configuration> | |
184 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
185 | - <resources> | |
186 | - <resource> | |
187 | - <directory>src/main/scripts/windows</directory> | |
188 | - <filtering>true</filtering> | |
189 | - </resource> | |
190 | - </resources> | |
191 | - <filters> | |
192 | - <filter>src/main/filters/windows.properties</filter> | |
193 | - </filters> | |
194 | - </configuration> | |
195 | - </execution> | |
196 | - </executions> | |
197 | 95 | </plugin> |
198 | 96 | <plugin> |
199 | 97 | <groupId>org.apache.maven.plugins</groupId> |
200 | 98 | <artifactId>maven-dependency-plugin</artifactId> |
201 | - <executions> | |
202 | - <execution> | |
203 | - <id>copy-winsw-service</id> | |
204 | - <phase>package</phase> | |
205 | - <goals> | |
206 | - <goal>copy</goal> | |
207 | - </goals> | |
208 | - <configuration> | |
209 | - <artifactItems> | |
210 | - <artifactItem> | |
211 | - <groupId>com.sun.winsw</groupId> | |
212 | - <artifactId>winsw</artifactId> | |
213 | - <classifier>bin</classifier> | |
214 | - <type>exe</type> | |
215 | - <destFileName>service.exe</destFileName> | |
216 | - </artifactItem> | |
217 | - </artifactItems> | |
218 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
219 | - </configuration> | |
220 | - </execution> | |
221 | - </executions> | |
222 | 99 | </plugin> |
223 | 100 | <plugin> |
224 | 101 | <groupId>org.apache.maven.plugins</groupId> |
225 | 102 | <artifactId>maven-jar-plugin</artifactId> |
226 | - <configuration> | |
227 | - <excludes> | |
228 | - <exclude>**/logback.xml</exclude> | |
229 | - </excludes> | |
230 | - <archive> | |
231 | - <manifestEntries> | |
232 | - <Implementation-Title>ThingsBoard HTTP Transport Service</Implementation-Title> | |
233 | - <Implementation-Version>${project.version}</Implementation-Version> | |
234 | - </manifestEntries> | |
235 | - </archive> | |
236 | - </configuration> | |
237 | 103 | </plugin> |
238 | 104 | <plugin> |
239 | 105 | <groupId>org.springframework.boot</groupId> |
240 | 106 | <artifactId>spring-boot-maven-plugin</artifactId> |
241 | - <configuration> | |
242 | - <mainClass>org.thingsboard.server.http.ThingsboardHttpTransportApplication</mainClass> | |
243 | - <classifier>boot</classifier> | |
244 | - <layout>ZIP</layout> | |
245 | - <executable>true</executable> | |
246 | - <excludeDevtools>true</excludeDevtools> | |
247 | - <embeddedLaunchScriptProperties> | |
248 | - <confFolder>${pkg.installFolder}/conf</confFolder> | |
249 | - <logFolder>${pkg.unixLogFolder}</logFolder> | |
250 | - <logFilename>${pkg.name}.out</logFilename> | |
251 | - <initInfoProvides>${pkg.name}</initInfoProvides> | |
252 | - </embeddedLaunchScriptProperties> | |
253 | - </configuration> | |
254 | - <executions> | |
255 | - <execution> | |
256 | - <goals> | |
257 | - <goal>repackage</goal> | |
258 | - </goals> | |
259 | - </execution> | |
260 | - </executions> | |
261 | 107 | </plugin> |
262 | 108 | <plugin> |
263 | 109 | <groupId>org.thingsboard</groupId> |
264 | 110 | <artifactId>gradle-maven-plugin</artifactId> |
265 | - <configuration> | |
266 | - <tasks> | |
267 | - <task>build</task> | |
268 | - <task>buildDeb</task> | |
269 | - <task>buildRpm</task> | |
270 | - </tasks> | |
271 | - <args> | |
272 | - <arg>-PprojectBuildDir=${project.build.directory}</arg> | |
273 | - <arg>-PprojectVersion=${project.version}</arg> | |
274 | - <arg>-PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</arg> | |
275 | - <arg>-PpkgName=${pkg.name}</arg> | |
276 | - <arg>-PpkgInstallFolder=${pkg.installFolder}</arg> | |
277 | - <arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg> | |
278 | - </args> | |
279 | - </configuration> | |
280 | - <executions> | |
281 | - <execution> | |
282 | - <phase>package</phase> | |
283 | - <goals> | |
284 | - <goal>invoke</goal> | |
285 | - </goals> | |
286 | - </execution> | |
287 | - </executions> | |
288 | 111 | </plugin> |
289 | 112 | <plugin> |
290 | 113 | <groupId>org.apache.maven.plugins</groupId> |
291 | 114 | <artifactId>maven-assembly-plugin</artifactId> |
292 | - <configuration> | |
293 | - <finalName>${pkg.name}</finalName> | |
294 | - <descriptors> | |
295 | - <descriptor>src/main/assembly/windows.xml</descriptor> | |
296 | - </descriptors> | |
297 | - </configuration> | |
298 | - <executions> | |
299 | - <execution> | |
300 | - <id>assembly</id> | |
301 | - <phase>package</phase> | |
302 | - <goals> | |
303 | - <goal>single</goal> | |
304 | - </goals> | |
305 | - </execution> | |
306 | - </executions> | |
307 | 115 | </plugin> |
308 | 116 | <plugin> |
309 | 117 | <groupId>org.apache.maven.plugins</groupId> |
310 | 118 | <artifactId>maven-install-plugin</artifactId> |
311 | - <configuration> | |
312 | - <file>${project.build.directory}/${pkg.name}.deb</file> | |
313 | - <artifactId>${project.artifactId}</artifactId> | |
314 | - <groupId>${project.groupId}</groupId> | |
315 | - <version>${project.version}</version> | |
316 | - <classifier>deb</classifier> | |
317 | - <packaging>deb</packaging> | |
318 | - </configuration> | |
319 | - <executions> | |
320 | - <execution> | |
321 | - <id>install-deb</id> | |
322 | - <phase>package</phase> | |
323 | - <goals> | |
324 | - <goal>install-file</goal> | |
325 | - </goals> | |
326 | - </execution> | |
327 | - </executions> | |
328 | 119 | </plugin> |
329 | 120 | </plugins> |
330 | 121 | </build> | ... | ... |
transport/http/src/main/assembly/windows.xml
deleted
100644 → 0
1 | -<!-- | |
2 | - | |
3 | - Copyright © 2016-2020 The Thingsboard Authors | |
4 | - | |
5 | - Licensed under the Apache License, Version 2.0 (the "License"); | |
6 | - you may not use this file except in compliance with the License. | |
7 | - You may obtain a copy of the License at | |
8 | - | |
9 | - http://www.apache.org/licenses/LICENSE-2.0 | |
10 | - | |
11 | - Unless required by applicable law or agreed to in writing, software | |
12 | - distributed under the License is distributed on an "AS IS" BASIS, | |
13 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 | - See the License for the specific language governing permissions and | |
15 | - limitations under the License. | |
16 | - | |
17 | ---> | |
18 | -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" | |
19 | - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
20 | - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> | |
21 | - <id>windows</id> | |
22 | - | |
23 | - <formats> | |
24 | - <format>zip</format> | |
25 | - </formats> | |
26 | - | |
27 | - <!-- Workaround to create logs directory --> | |
28 | - <fileSets> | |
29 | - <fileSet> | |
30 | - <directory>${pkg.win.dist}</directory> | |
31 | - <outputDirectory>logs</outputDirectory> | |
32 | - <excludes> | |
33 | - <exclude>*/**</exclude> | |
34 | - </excludes> | |
35 | - </fileSet> | |
36 | - <fileSet> | |
37 | - <directory>${pkg.win.dist}/conf</directory> | |
38 | - <outputDirectory>conf</outputDirectory> | |
39 | - <lineEnding>windows</lineEnding> | |
40 | - </fileSet> | |
41 | - </fileSets> | |
42 | - | |
43 | - <files> | |
44 | - <file> | |
45 | - <source>${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</source> | |
46 | - <outputDirectory>lib</outputDirectory> | |
47 | - <destName>${pkg.name}.jar</destName> | |
48 | - </file> | |
49 | - <file> | |
50 | - <source>${pkg.win.dist}/service.exe</source> | |
51 | - <outputDirectory/> | |
52 | - <destName>${pkg.name}.exe</destName> | |
53 | - </file> | |
54 | - <file> | |
55 | - <source>${pkg.win.dist}/service.xml</source> | |
56 | - <outputDirectory/> | |
57 | - <destName>${pkg.name}.xml</destName> | |
58 | - <lineEnding>windows</lineEnding> | |
59 | - </file> | |
60 | - <file> | |
61 | - <source>${pkg.win.dist}/install.bat</source> | |
62 | - <outputDirectory/> | |
63 | - <lineEnding>windows</lineEnding> | |
64 | - </file> | |
65 | - <file> | |
66 | - <source>${pkg.win.dist}/uninstall.bat</source> | |
67 | - <outputDirectory/> | |
68 | - <lineEnding>windows</lineEnding> | |
69 | - </file> | |
70 | - </files> | |
71 | -</assembly> |
transport/http/src/main/filters/unix.properties
deleted
100644 → 0
1 | -pkg.logFolder=${pkg.unixLogFolder} | |
\ No newline at end of file |
transport/http/src/main/filters/windows.properties
deleted
100644 → 0
transport/http/src/main/scripts/control/deb/postinst
deleted
100644 → 0
transport/http/src/main/scripts/control/deb/postrm
deleted
100644 → 0
transport/http/src/main/scripts/control/deb/preinst
deleted
100644 → 0
1 | -#!/bin/sh | |
2 | - | |
3 | -if ! getent group ${pkg.user} >/dev/null; then | |
4 | - addgroup --system ${pkg.user} | |
5 | -fi | |
6 | - | |
7 | -if ! getent passwd ${pkg.user} >/dev/null; then | |
8 | - adduser --quiet \ | |
9 | - --system \ | |
10 | - --ingroup ${pkg.user} \ | |
11 | - --quiet \ | |
12 | - --disabled-login \ | |
13 | - --disabled-password \ | |
14 | - --home ${pkg.installFolder} \ | |
15 | - --no-create-home \ | |
16 | - -gecos "Thingsboard application" \ | |
17 | - ${pkg.user} | |
18 | -fi |
transport/http/src/main/scripts/control/deb/prerm
deleted
100644 → 0
transport/http/src/main/scripts/control/rpm/postinst
deleted
100644 → 0
transport/http/src/main/scripts/control/rpm/postrm
deleted
100644 → 0
transport/http/src/main/scripts/control/rpm/preinst
deleted
100644 → 0
transport/http/src/main/scripts/control/rpm/prerm
deleted
100644 → 0
transport/http/src/main/scripts/control/tb-http-transport.service
deleted
100644 → 0
transport/http/src/main/scripts/windows/install.bat
deleted
100644 → 0
1 | -@ECHO OFF | |
2 | - | |
3 | -setlocal ENABLEEXTENSIONS | |
4 | - | |
5 | -@ECHO Detecting Java version installed. | |
6 | -:CHECK_JAVA | |
7 | -for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k" | |
8 | -@ECHO CurrentVersion %jver% | |
9 | - | |
10 | -if %jver% NEQ 18 GOTO JAVA_NOT_INSTALLED | |
11 | - | |
12 | -:JAVA_INSTALLED | |
13 | - | |
14 | -@ECHO Java 1.8 found! | |
15 | -@ECHO Installing ${pkg.name} ... | |
16 | - | |
17 | -"%BASE%"${pkg.name}.exe install | |
18 | - | |
19 | -@ECHO ${pkg.name} installed successfully! | |
20 | - | |
21 | -GOTO END | |
22 | - | |
23 | -:JAVA_NOT_INSTALLED | |
24 | -@ECHO Java 1.8 is not installed. Only Java 1.8 is supported | |
25 | -@ECHO Please go to https://adoptopenjdk.net/index.html and install Java 1.8. Then retry installation. | |
26 | -PAUSE | |
27 | -GOTO END | |
28 | - | |
29 | -:END | |
30 | - | |
31 | - |
transport/http/src/main/scripts/windows/service.xml
deleted
100644 → 0
1 | -<service> | |
2 | - <id>${pkg.name}</id> | |
3 | - <name>${project.name}</name> | |
4 | - <description>${project.description}</description> | |
5 | - <workingdirectory>%BASE%\conf</workingdirectory> | |
6 | - <logpath>${pkg.winWrapperLogFolder}</logpath> | |
7 | - <logmode>rotate</logmode> | |
8 | - <env name="LOADER_PATH" value="%BASE%\conf" /> | |
9 | - <executable>java</executable> | |
10 | - <startargument>-Xloggc:%BASE%\logs\gc.log</startargument> | |
11 | - <startargument>-XX:+HeapDumpOnOutOfMemoryError</startargument> | |
12 | - <startargument>-XX:+PrintGCDetails</startargument> | |
13 | - <startargument>-XX:+PrintGCDateStamps</startargument> | |
14 | - <startargument>-XX:+PrintHeapAtGC</startargument> | |
15 | - <startargument>-XX:+PrintTenuringDistribution</startargument> | |
16 | - <startargument>-XX:+PrintGCApplicationStoppedTime</startargument> | |
17 | - <startargument>-XX:+UseGCLogFileRotation</startargument> | |
18 | - <startargument>-XX:NumberOfGCLogFiles=10</startargument> | |
19 | - <startargument>-XX:GCLogFileSize=10M</startargument> | |
20 | - <startargument>-XX:-UseBiasedLocking</startargument> | |
21 | - <startargument>-XX:+UseTLAB</startargument> | |
22 | - <startargument>-XX:+ResizeTLAB</startargument> | |
23 | - <startargument>-XX:+PerfDisableSharedMem</startargument> | |
24 | - <startargument>-XX:+UseCondCardMark</startargument> | |
25 | - <startargument>-XX:CMSWaitDuration=10000</startargument> | |
26 | - <startargument>-XX:+UseParNewGC</startargument> | |
27 | - <startargument>-XX:+UseConcMarkSweepGC</startargument> | |
28 | - <startargument>-XX:+CMSParallelRemarkEnabled</startargument> | |
29 | - <startargument>-XX:+CMSParallelInitialMarkEnabled</startargument> | |
30 | - <startargument>-XX:+CMSEdenChunksRecordAlways</startargument> | |
31 | - <startargument>-XX:CMSInitiatingOccupancyFraction=75</startargument> | |
32 | - <startargument>-XX:+UseCMSInitiatingOccupancyOnly</startargument> | |
33 | - <startargument>-jar</startargument> | |
34 | - <startargument>%BASE%\lib\${pkg.name}.jar</startargument> | |
35 | - | |
36 | -</service> |
transport/http/src/main/scripts/windows/uninstall.bat
deleted
100644 → 0
transport/mqtt/build.gradle
deleted
100644 → 0
1 | -/** | |
2 | - * Copyright © 2016-2020 The Thingsboard Authors | |
3 | - * | |
4 | - * Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | - * you may not use this file except in compliance with the License. | |
6 | - * You may obtain a copy of the License at | |
7 | - * | |
8 | - * http://www.apache.org/licenses/LICENSE-2.0 | |
9 | - * | |
10 | - * Unless required by applicable law or agreed to in writing, software | |
11 | - * distributed under the License is distributed on an "AS IS" BASIS, | |
12 | - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | - * See the License for the specific language governing permissions and | |
14 | - * limitations under the License. | |
15 | - */ | |
16 | -import org.apache.tools.ant.filters.ReplaceTokens | |
17 | - | |
18 | -buildscript { | |
19 | - ext { | |
20 | - osPackageVersion = "3.8.0" | |
21 | - } | |
22 | - repositories { | |
23 | - jcenter() | |
24 | - } | |
25 | - dependencies { | |
26 | - classpath("com.netflix.nebula:gradle-ospackage-plugin:${osPackageVersion}") | |
27 | - } | |
28 | -} | |
29 | - | |
30 | -apply plugin: "nebula.ospackage" | |
31 | - | |
32 | -buildDir = projectBuildDir | |
33 | -version = projectVersion | |
34 | -distsDirName = "./" | |
35 | - | |
36 | -// OS Package plugin configuration | |
37 | -ospackage { | |
38 | - packageName = pkgName | |
39 | - version = "${project.version}" | |
40 | - release = 1 | |
41 | - os = LINUX | |
42 | - type = BINARY | |
43 | - | |
44 | - into pkgInstallFolder | |
45 | - | |
46 | - user pkgName | |
47 | - permissionGroup pkgName | |
48 | - | |
49 | - // Copy the actual .jar file | |
50 | - from(mainJar) { | |
51 | - // Strip the version from the jar filename | |
52 | - rename { String fileName -> | |
53 | - "${pkgName}.jar" | |
54 | - } | |
55 | - fileMode 0500 | |
56 | - into "bin" | |
57 | - } | |
58 | - | |
59 | - // Copy the config files | |
60 | - from("target/conf") { | |
61 | - exclude "${pkgName}.conf" | |
62 | - fileType CONFIG | NOREPLACE | |
63 | - fileMode 0754 | |
64 | - into "conf" | |
65 | - } | |
66 | - | |
67 | -} | |
68 | - | |
69 | -// Configure our RPM build task | |
70 | -buildRpm { | |
71 | - | |
72 | - arch = NOARCH | |
73 | - | |
74 | - version = projectVersion.replace('-', '') | |
75 | - archiveName = "${pkgName}.rpm" | |
76 | - | |
77 | - requires("java-1.8.0") | |
78 | - | |
79 | - from("target/conf") { | |
80 | - include "${pkgName}.conf" | |
81 | - filter(ReplaceTokens, tokens: ['pkg.platform': 'rpm']) | |
82 | - fileType CONFIG | NOREPLACE | |
83 | - fileMode 0754 | |
84 | - into "${pkgInstallFolder}/conf" | |
85 | - } | |
86 | - | |
87 | - preInstall file("${buildDir}/control/rpm/preinst") | |
88 | - postInstall file("${buildDir}/control/rpm/postinst") | |
89 | - preUninstall file("${buildDir}/control/rpm/prerm") | |
90 | - postUninstall file("${buildDir}/control/rpm/postrm") | |
91 | - | |
92 | - user pkgName | |
93 | - permissionGroup pkgName | |
94 | - | |
95 | - // Copy the system unit files | |
96 | - from("${buildDir}/control/${pkgName}.service") { | |
97 | - addParentDirs = false | |
98 | - fileMode 0644 | |
99 | - into "/usr/lib/systemd/system" | |
100 | - } | |
101 | - | |
102 | - directory(pkgLogFolder, 0755) | |
103 | - link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") | |
104 | - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") | |
105 | -} | |
106 | - | |
107 | -// Same as the buildRpm task | |
108 | -buildDeb { | |
109 | - | |
110 | - arch = "all" | |
111 | - | |
112 | - archiveName = "${pkgName}.deb" | |
113 | - | |
114 | - requires("openjdk-8-jre").or("java8-runtime").or("oracle-java8-installer").or("openjdk-8-jre-headless") | |
115 | - | |
116 | - from("target/conf") { | |
117 | - include "${pkgName}.conf" | |
118 | - filter(ReplaceTokens, tokens: ['pkg.platform': 'deb']) | |
119 | - fileType CONFIG | NOREPLACE | |
120 | - fileMode 0754 | |
121 | - into "${pkgInstallFolder}/conf" | |
122 | - } | |
123 | - | |
124 | - configurationFile("${pkgInstallFolder}/conf/${pkgName}.conf") | |
125 | - configurationFile("${pkgInstallFolder}/conf/${pkgName}.yml") | |
126 | - configurationFile("${pkgInstallFolder}/conf/logback.xml") | |
127 | - | |
128 | - preInstall file("${buildDir}/control/deb/preinst") | |
129 | - postInstall file("${buildDir}/control/deb/postinst") | |
130 | - preUninstall file("${buildDir}/control/deb/prerm") | |
131 | - postUninstall file("${buildDir}/control/deb/postrm") | |
132 | - | |
133 | - user pkgName | |
134 | - permissionGroup pkgName | |
135 | - | |
136 | - directory(pkgLogFolder, 0755) | |
137 | - link("/etc/init.d/${pkgName}", "${pkgInstallFolder}/bin/${pkgName}.jar") | |
138 | - link("${pkgInstallFolder}/bin/${pkgName}.yml", "${pkgInstallFolder}/conf/${pkgName}.yml") | |
139 | - link("/etc/${pkgName}/conf", "${pkgInstallFolder}/conf") | |
140 | -} |
... | ... | @@ -33,10 +33,15 @@ |
33 | 33 | <properties> |
34 | 34 | <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
35 | 35 | <main.dir>${basedir}/../..</main.dir> |
36 | + <pkg.type>java</pkg.type> | |
37 | + <pkg.disabled>false</pkg.disabled> | |
38 | + <pkg.process-resources.phase>process-resources</pkg.process-resources.phase> | |
39 | + <pkg.package.phase>package</pkg.package.phase> | |
36 | 40 | <pkg.name>tb-mqtt-transport</pkg.name> |
37 | - <pkg.unixLogFolder>/var/log/${pkg.name}</pkg.unixLogFolder> | |
38 | - <pkg.installFolder>/usr/share/${pkg.name}</pkg.installFolder> | |
41 | + <pkg.copyInstallScripts>false</pkg.copyInstallScripts> | |
39 | 42 | <pkg.win.dist>${project.build.directory}/windows</pkg.win.dist> |
43 | + <pkg.implementationTitle>ThingsBoard MQTT Transport Service</pkg.implementationTitle> | |
44 | + <pkg.mainClass>org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication</pkg.mainClass> | |
40 | 45 | </properties> |
41 | 46 | |
42 | 47 | <dependencies> |
... | ... | @@ -87,244 +92,30 @@ |
87 | 92 | <plugin> |
88 | 93 | <groupId>org.apache.maven.plugins</groupId> |
89 | 94 | <artifactId>maven-resources-plugin</artifactId> |
90 | - <executions> | |
91 | - <execution> | |
92 | - <id>copy-conf</id> | |
93 | - <phase>process-resources</phase> | |
94 | - <goals> | |
95 | - <goal>copy-resources</goal> | |
96 | - </goals> | |
97 | - <configuration> | |
98 | - <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
99 | - <resources> | |
100 | - <resource> | |
101 | - <directory>src/main/resources</directory> | |
102 | - <excludes> | |
103 | - <exclude>logback.xml</exclude> | |
104 | - </excludes> | |
105 | - <filtering>false</filtering> | |
106 | - </resource> | |
107 | - </resources> | |
108 | - </configuration> | |
109 | - </execution> | |
110 | - <execution> | |
111 | - <id>copy-service-conf</id> | |
112 | - <phase>process-resources</phase> | |
113 | - <goals> | |
114 | - <goal>copy-resources</goal> | |
115 | - </goals> | |
116 | - <configuration> | |
117 | - <outputDirectory>${project.build.directory}/conf</outputDirectory> | |
118 | - <resources> | |
119 | - <resource> | |
120 | - <directory>src/main/conf</directory> | |
121 | - <filtering>true</filtering> | |
122 | - </resource> | |
123 | - </resources> | |
124 | - <filters> | |
125 | - <filter>src/main/filters/unix.properties</filter> | |
126 | - </filters> | |
127 | - </configuration> | |
128 | - </execution> | |
129 | - <execution> | |
130 | - <id>copy-win-conf</id> | |
131 | - <phase>process-resources</phase> | |
132 | - <goals> | |
133 | - <goal>copy-resources</goal> | |
134 | - </goals> | |
135 | - <configuration> | |
136 | - <outputDirectory>${pkg.win.dist}/conf</outputDirectory> | |
137 | - <resources> | |
138 | - <resource> | |
139 | - <directory>src/main/resources</directory> | |
140 | - <excludes> | |
141 | - <exclude>logback.xml</exclude> | |
142 | - </excludes> | |
143 | - <filtering>false</filtering> | |
144 | - </resource> | |
145 | - <resource> | |
146 | - <directory>src/main/conf</directory> | |
147 | - <excludes> | |
148 | - <exclude>tb-mqtt-transport.conf</exclude> | |
149 | - </excludes> | |
150 | - <filtering>true</filtering> | |
151 | - </resource> | |
152 | - </resources> | |
153 | - <filters> | |
154 | - <filter>src/main/filters/windows.properties</filter> | |
155 | - </filters> | |
156 | - </configuration> | |
157 | - </execution> | |
158 | - <execution> | |
159 | - <id>copy-control</id> | |
160 | - <phase>process-resources</phase> | |
161 | - <goals> | |
162 | - <goal>copy-resources</goal> | |
163 | - </goals> | |
164 | - <configuration> | |
165 | - <outputDirectory>${project.build.directory}/control</outputDirectory> | |
166 | - <resources> | |
167 | - <resource> | |
168 | - <directory>src/main/scripts/control</directory> | |
169 | - <filtering>true</filtering> | |
170 | - </resource> | |
171 | - </resources> | |
172 | - <filters> | |
173 | - <filter>src/main/filters/unix.properties</filter> | |
174 | - </filters> | |
175 | - </configuration> | |
176 | - </execution> | |
177 | - <execution> | |
178 | - <id>copy-windows-control</id> | |
179 | - <phase>process-resources</phase> | |
180 | - <goals> | |
181 | - <goal>copy-resources</goal> | |
182 | - </goals> | |
183 | - <configuration> | |
184 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
185 | - <resources> | |
186 | - <resource> | |
187 | - <directory>src/main/scripts/windows</directory> | |
188 | - <filtering>true</filtering> | |
189 | - </resource> | |
190 | - </resources> | |
191 | - <filters> | |
192 | - <filter>src/main/filters/windows.properties</filter> | |
193 | - </filters> | |
194 | - </configuration> | |
195 | - </execution> | |
196 | - </executions> | |
197 | 95 | </plugin> |
198 | 96 | <plugin> |
199 | 97 | <groupId>org.apache.maven.plugins</groupId> |
200 | 98 | <artifactId>maven-dependency-plugin</artifactId> |
201 | - <executions> | |
202 | - <execution> | |
203 | - <id>copy-winsw-service</id> | |
204 | - <phase>package</phase> | |
205 | - <goals> | |
206 | - <goal>copy</goal> | |
207 | - </goals> | |
208 | - <configuration> | |
209 | - <artifactItems> | |
210 | - <artifactItem> | |
211 | - <groupId>com.sun.winsw</groupId> | |
212 | - <artifactId>winsw</artifactId> | |
213 | - <classifier>bin</classifier> | |
214 | - <type>exe</type> | |
215 | - <destFileName>service.exe</destFileName> | |
216 | - </artifactItem> | |
217 | - </artifactItems> | |
218 | - <outputDirectory>${pkg.win.dist}</outputDirectory> | |
219 | - </configuration> | |
220 | - </execution> | |
221 | - </executions> | |
222 | 99 | </plugin> |
223 | 100 | <plugin> |
224 | 101 | <groupId>org.apache.maven.plugins</groupId> |
225 | 102 | <artifactId>maven-jar-plugin</artifactId> |
226 | - <configuration> | |
227 | - <excludes> | |
228 | - <exclude>**/logback.xml</exclude> | |
229 | - </excludes> | |
230 | - <archive> | |
231 | - <manifestEntries> | |
232 | - <Implementation-Title>ThingsBoard MQTT Transport Service</Implementation-Title> | |
233 | - <Implementation-Version>${project.version}</Implementation-Version> | |
234 | - </manifestEntries> | |
235 | - </archive> | |
236 | - </configuration> | |
237 | 103 | </plugin> |
238 | 104 | <plugin> |
239 | 105 | <groupId>org.springframework.boot</groupId> |
240 | 106 | <artifactId>spring-boot-maven-plugin</artifactId> |
241 | - <configuration> | |
242 | - <mainClass>org.thingsboard.server.mqtt.ThingsboardMqttTransportApplication</mainClass> | |
243 | - <classifier>boot</classifier> | |
244 | - <layout>ZIP</layout> | |
245 | - <executable>true</executable> | |
246 | - <excludeDevtools>true</excludeDevtools> | |
247 | - <embeddedLaunchScriptProperties> | |
248 | - <confFolder>${pkg.installFolder}/conf</confFolder> | |
249 | - <logFolder>${pkg.unixLogFolder}</logFolder> | |
250 | - <logFilename>${pkg.name}.out</logFilename> | |
251 | - <initInfoProvides>${pkg.name}</initInfoProvides> | |
252 | - </embeddedLaunchScriptProperties> | |
253 | - </configuration> | |
254 | - <executions> | |
255 | - <execution> | |
256 | - <goals> | |
257 | - <goal>repackage</goal> | |
258 | - </goals> | |
259 | - </execution> | |
260 | - </executions> | |
261 | 107 | </plugin> |
262 | 108 | <plugin> |
263 | 109 | <groupId>org.thingsboard</groupId> |
264 | 110 | <artifactId>gradle-maven-plugin</artifactId> |
265 | - <configuration> | |
266 | - <tasks> | |
267 | - <task>build</task> | |
268 | - <task>buildDeb</task> | |
269 | - <task>buildRpm</task> | |
270 | - </tasks> | |
271 | - <args> | |
272 | - <arg>-PprojectBuildDir=${project.build.directory}</arg> | |
273 | - <arg>-PprojectVersion=${project.version}</arg> | |
274 | - <arg>-PmainJar=${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</arg> | |
275 | - <arg>-PpkgName=${pkg.name}</arg> | |
276 | - <arg>-PpkgInstallFolder=${pkg.installFolder}</arg> | |
277 | - <arg>-PpkgLogFolder=${pkg.unixLogFolder}</arg> | |
278 | - </args> | |
279 | - </configuration> | |
280 | - <executions> | |
281 | - <execution> | |
282 | - <phase>package</phase> | |
283 | - <goals> | |
284 | - <goal>invoke</goal> | |
285 | - </goals> | |
286 | - </execution> | |
287 | - </executions> | |
288 | 111 | </plugin> |
289 | 112 | <plugin> |
290 | 113 | <groupId>org.apache.maven.plugins</groupId> |
291 | 114 | <artifactId>maven-assembly-plugin</artifactId> |
292 | - <configuration> | |
293 | - <finalName>${pkg.name}</finalName> | |
294 | - <descriptors> | |
295 | - <descriptor>src/main/assembly/windows.xml</descriptor> | |
296 | - </descriptors> | |
297 | - </configuration> | |
298 | - <executions> | |
299 | - <execution> | |
300 | - <id>assembly</id> | |
301 | - <phase>package</phase> | |
302 | - <goals> | |
303 | - <goal>single</goal> | |
304 | - </goals> | |
305 | - </execution> | |
306 | - </executions> | |
307 | 115 | </plugin> |
308 | 116 | <plugin> |
309 | 117 | <groupId>org.apache.maven.plugins</groupId> |
310 | 118 | <artifactId>maven-install-plugin</artifactId> |
311 | - <configuration> | |
312 | - <file>${project.build.directory}/${pkg.name}.deb</file> | |
313 | - <artifactId>${project.artifactId}</artifactId> | |
314 | - <groupId>${project.groupId}</groupId> | |
315 | - <version>${project.version}</version> | |
316 | - <classifier>deb</classifier> | |
317 | - <packaging>deb</packaging> | |
318 | - </configuration> | |
319 | - <executions> | |
320 | - <execution> | |
321 | - <id>install-deb</id> | |
322 | - <phase>package</phase> | |
323 | - <goals> | |
324 | - <goal>install-file</goal> | |
325 | - </goals> | |
326 | - </execution> | |
327 | - </executions> | |
328 | 119 | </plugin> |
329 | 120 | </plugins> |
330 | 121 | </build> | ... | ... |
transport/mqtt/src/main/assembly/windows.xml
deleted
100644 → 0
1 | -<!-- | |
2 | - | |
3 | - Copyright © 2016-2020 The Thingsboard Authors | |
4 | - | |
5 | - Licensed under the Apache License, Version 2.0 (the "License"); | |
6 | - you may not use this file except in compliance with the License. | |
7 | - You may obtain a copy of the License at | |
8 | - | |
9 | - http://www.apache.org/licenses/LICENSE-2.0 | |
10 | - | |
11 | - Unless required by applicable law or agreed to in writing, software | |
12 | - distributed under the License is distributed on an "AS IS" BASIS, | |
13 | - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
14 | - See the License for the specific language governing permissions and | |
15 | - limitations under the License. | |
16 | - | |
17 | ---> | |
18 | -<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3" | |
19 | - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
20 | - xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 http://maven.apache.org/xsd/assembly-1.1.3.xsd"> | |
21 | - <id>windows</id> | |
22 | - | |
23 | - <formats> | |
24 | - <format>zip</format> | |
25 | - </formats> | |
26 | - | |
27 | - <!-- Workaround to create logs directory --> | |
28 | - <fileSets> | |
29 | - <fileSet> | |
30 | - <directory>${pkg.win.dist}</directory> | |
31 | - <outputDirectory>logs</outputDirectory> | |
32 | - <excludes> | |
33 | - <exclude>*/**</exclude> | |
34 | - </excludes> | |
35 | - </fileSet> | |
36 | - <fileSet> | |
37 | - <directory>${pkg.win.dist}/conf</directory> | |
38 | - <outputDirectory>conf</outputDirectory> | |
39 | - <lineEnding>windows</lineEnding> | |
40 | - </fileSet> | |
41 | - </fileSets> | |
42 | - | |
43 | - <files> | |
44 | - <file> | |
45 | - <source>${project.build.directory}/${project.build.finalName}-boot.${project.packaging}</source> | |
46 | - <outputDirectory>lib</outputDirectory> | |
47 | - <destName>${pkg.name}.jar</destName> | |
48 | - </file> | |
49 | - <file> | |
50 | - <source>${pkg.win.dist}/service.exe</source> | |
51 | - <outputDirectory/> | |
52 | - <destName>${pkg.name}.exe</destName> | |
53 | - </file> | |
54 | - <file> | |
55 | - <source>${pkg.win.dist}/service.xml</source> | |
56 | - <outputDirectory/> | |
57 | - <destName>${pkg.name}.xml</destName> | |
58 | - <lineEnding>windows</lineEnding> | |
59 | - </file> | |
60 | - <file> | |
61 | - <source>${pkg.win.dist}/install.bat</source> | |
62 | - <outputDirectory/> | |
63 | - <lineEnding>windows</lineEnding> | |
64 | - </file> | |
65 | - <file> | |
66 | - <source>${pkg.win.dist}/uninstall.bat</source> | |
67 | - <outputDirectory/> | |
68 | - <lineEnding>windows</lineEnding> | |
69 | - </file> | |
70 | - </files> | |
71 | -</assembly> |
transport/mqtt/src/main/filters/unix.properties
deleted
100644 → 0
1 | -pkg.logFolder=${pkg.unixLogFolder} | |
\ No newline at end of file |
transport/mqtt/src/main/filters/windows.properties
deleted
100644 → 0
transport/mqtt/src/main/scripts/control/deb/postinst
deleted
100644 → 0
transport/mqtt/src/main/scripts/control/deb/postrm
deleted
100644 → 0
transport/mqtt/src/main/scripts/control/deb/preinst
deleted
100644 → 0
1 | -#!/bin/sh | |
2 | - | |
3 | -if ! getent group ${pkg.user} >/dev/null; then | |
4 | - addgroup --system ${pkg.user} | |
5 | -fi | |
6 | - | |
7 | -if ! getent passwd ${pkg.user} >/dev/null; then | |
8 | - adduser --quiet \ | |
9 | - --system \ | |
10 | - --ingroup ${pkg.user} \ | |
11 | - --quiet \ | |
12 | - --disabled-login \ | |
13 | - --disabled-password \ | |
14 | - --home ${pkg.installFolder} \ | |
15 | - --no-create-home \ | |
16 | - -gecos "Thingsboard application" \ | |
17 | - ${pkg.user} | |
18 | -fi |
transport/mqtt/src/main/scripts/control/deb/prerm
deleted
100644 → 0
transport/mqtt/src/main/scripts/control/rpm/postinst
deleted
100644 → 0
transport/mqtt/src/main/scripts/control/rpm/postrm
deleted
100644 → 0
transport/mqtt/src/main/scripts/control/rpm/preinst
deleted
100644 → 0
transport/mqtt/src/main/scripts/control/rpm/prerm
deleted
100644 → 0
transport/mqtt/src/main/scripts/control/tb-mqtt-transport.service
deleted
100644 → 0
transport/mqtt/src/main/scripts/windows/install.bat
deleted
100644 → 0
1 | -@ECHO OFF | |
2 | - | |
3 | -setlocal ENABLEEXTENSIONS | |
4 | - | |
5 | -@ECHO Detecting Java version installed. | |
6 | -:CHECK_JAVA | |
7 | -for /f tokens^=2-5^ delims^=.-_^" %%j in ('java -fullversion 2^>^&1') do set "jver=%%j%%k" | |
8 | -@ECHO CurrentVersion %jver% | |
9 | - | |
10 | -if %jver% NEQ 18 GOTO JAVA_NOT_INSTALLED | |
11 | - | |
12 | -:JAVA_INSTALLED | |
13 | - | |
14 | -@ECHO Java 1.8 found! | |
15 | -@ECHO Installing ${pkg.name} ... | |
16 | - | |
17 | -"%BASE%"${pkg.name}.exe install | |
18 | - | |
19 | -@ECHO ${pkg.name} installed successfully! | |
20 | - | |
21 | -GOTO END | |
22 | - | |
23 | -:JAVA_NOT_INSTALLED | |
24 | -@ECHO Java 1.8 is not installed. Only Java 1.8 is supported | |
25 | -@ECHO Please go to https://adoptopenjdk.net/index.html and install Java 1.8. Then retry installation. | |
26 | -PAUSE | |
27 | -GOTO END | |
28 | - | |
29 | -:END | |
30 | - | |
31 | - |
transport/mqtt/src/main/scripts/windows/service.xml
deleted
100644 → 0
1 | -<service> | |
2 | - <id>${pkg.name}</id> | |
3 | - <name>${project.name}</name> | |
4 | - <description>${project.description}</description> | |
5 | - <workingdirectory>%BASE%\conf</workingdirectory> | |
6 | - <logpath>${pkg.winWrapperLogFolder}</logpath> | |
7 | - <logmode>rotate</logmode> | |
8 | - <env name="LOADER_PATH" value="%BASE%\conf" /> | |
9 | - <executable>java</executable> | |
10 | - <startargument>-Xloggc:%BASE%\logs\gc.log</startargument> | |
11 | - <startargument>-XX:+HeapDumpOnOutOfMemoryError</startargument> | |
12 | - <startargument>-XX:+PrintGCDetails</startargument> | |
13 | - <startargument>-XX:+PrintGCDateStamps</startargument> | |
14 | - <startargument>-XX:+PrintHeapAtGC</startargument> | |
15 | - <startargument>-XX:+PrintTenuringDistribution</startargument> | |
16 | - <startargument>-XX:+PrintGCApplicationStoppedTime</startargument> | |
17 | - <startargument>-XX:+UseGCLogFileRotation</startargument> | |
18 | - <startargument>-XX:NumberOfGCLogFiles=10</startargument> | |
19 | - <startargument>-XX:GCLogFileSize=10M</startargument> | |
20 | - <startargument>-XX:-UseBiasedLocking</startargument> | |
21 | - <startargument>-XX:+UseTLAB</startargument> | |
22 | - <startargument>-XX:+ResizeTLAB</startargument> | |
23 | - <startargument>-XX:+PerfDisableSharedMem</startargument> | |
24 | - <startargument>-XX:+UseCondCardMark</startargument> | |
25 | - <startargument>-XX:CMSWaitDuration=10000</startargument> | |
26 | - <startargument>-XX:+UseParNewGC</startargument> | |
27 | - <startargument>-XX:+UseConcMarkSweepGC</startargument> | |
28 | - <startargument>-XX:+CMSParallelRemarkEnabled</startargument> | |
29 | - <startargument>-XX:+CMSParallelInitialMarkEnabled</startargument> | |
30 | - <startargument>-XX:+CMSEdenChunksRecordAlways</startargument> | |
31 | - <startargument>-XX:CMSInitiatingOccupancyFraction=75</startargument> | |
32 | - <startargument>-XX:+UseCMSInitiatingOccupancyOnly</startargument> | |
33 | - <startargument>-jar</startargument> | |
34 | - <startargument>%BASE%\lib\${pkg.name}.jar</startargument> | |
35 | - | |
36 | -</service> |
transport/mqtt/src/main/scripts/windows/uninstall.bat
deleted
100644 → 0
... | ... | @@ -9000,7 +9000,14 @@ |
9000 | 9000 | "version": "git://github.com/thingsboard/ngx-flowchart.git#7a02f4748b5e7821a883c903107af5f20415d026", |
9001 | 9001 | "from": "git://github.com/thingsboard/ngx-flowchart.git#master", |
9002 | 9002 | "requires": { |
9003 | - "tslib": "^1.11.1" | |
9003 | + "tslib": "^1.13.0" | |
9004 | + }, | |
9005 | + "dependencies": { | |
9006 | + "tslib": { | |
9007 | + "version": "1.13.0", | |
9008 | + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", | |
9009 | + "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==" | |
9010 | + } | |
9004 | 9011 | } |
9005 | 9012 | }, |
9006 | 9013 | "ngx-hm-carousel": { | ... | ... |