add build utils + pom

This commit is contained in:
ggmaleva 2021-08-10 15:49:41 +03:00
parent fa8819c9a9
commit 0178bfc886
No known key found for this signature in database
GPG Key ID: 0E412B78565B108F
4 changed files with 170 additions and 0 deletions

4
.gitmodules vendored Normal file
View File

@ -0,0 +1,4 @@
[submodule "build_utils"]
path = build_utils
url = git@github.com:rbkmoney/build_utils.git
branch = master

26
Jenkinsfile vendored Normal file
View File

@ -0,0 +1,26 @@
#!groovy
// -*- mode: groovy -*-
build('fraudbusters-warehouse-proto', 'docker-host') {
checkoutRepo()
loadBuildUtils()
def pipeDefault
def gitUtils
runStage('load pipeline') {
env.JENKINS_LIB = "build_utils/jenkins_lib"
pipeDefault = load("${env.JENKINS_LIB}/pipeDefault.groovy")
pipeJavaProto = load("${env.JENKINS_LIB}/pipeJavaProto.groovy")
gitUtils = load("${env.JENKINS_LIB}/gitUtils.groovy")
}
pipeDefault() {
runStage('compile') {
sh "make wc_compile"
}
env.skipSonar = 'true'
pipeJavaProto()
}
}

42
Makefile Normal file
View File

@ -0,0 +1,42 @@
THRIFT = $(or $(shell which thrift), $(error "`thrift' executable missing"))
REBAR = $(shell which rebar3 2>/dev/null || which ./rebar3)
SUBMODULES = build_utils
SUBTARGETS = $(patsubst %,%/.git,$(SUBMODULES))
UTILS_PATH := build_utils
TEMPLATES_PATH := .
# Name of the service
SERVICE_NAME := fraudbusters-warehouse-proto
# Build image tag to be used
BUILD_IMAGE_TAG := b04c5291d101132e53e578d96e1628d2e6dab0c0
CALL_ANYWHERE := \
all submodules compile clean distclean
CALL_W_CONTAINER := $(CALL_ANYWHERE)
all: compile
-include $(UTILS_PATH)/make_lib/utils_container.mk
.PHONY: $(CALL_W_CONTAINER)
# CALL_ANYWHERE
$(SUBTARGETS): %/.git: %
git submodule update --init $<
touch $@
submodules: $(SUBTARGETS)
compile:
$(REBAR) compile
clean:
$(REBAR) clean
distclean:
$(REBAR) clean -a
rm -rfv _build
include $(UTILS_PATH)/make_lib/java_proto.mk

98
pom.xml Normal file
View File

@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.rbkmoney</groupId>
<artifactId>parent</artifactId>
<version>1.0.5</version>
</parent>
<artifactId>fraudbusters-warehouse-proto</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>Fraudbusters Warehouse</name>
<description>Generates jar artifact containing compiled thrift classes based on generated thrift IDL files</description>
<url>https://github.com/rbkmoney/fraudbusters-warehouse-proto.git</url>
<developers>
<developer>
<organization>RBK.money</organization>
<organizationUrl>https://rbk.money</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/rbkmoney/fraudbusters-warehouse-proto.git</connection>
<developerConnection>scm:git:ssh://github.com/rbkmoney/fraudbusters-warehouse-proto.git</developerConnection>
<url>https://github.com/rbkmoney/fraudbusters-warehouse-proto/tree/master</url>
</scm>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!--rbkmoney-->
<dependency>
<groupId>com.rbkmoney.woody</groupId>
<artifactId>woody-thrift</artifactId>
<version>1.1.22</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<!-- THRIFT -->
<plugin>
<groupId>org.apache.thrift</groupId>
<artifactId>thrift-maven-plugin</artifactId>
<version>0.10.0</version>
<configuration>
<generator>java:fullcamel</generator>
<thriftSourceRoot>${project.basedir}/proto</thriftSourceRoot>
<thriftExecutable></thriftExecutable>
</configuration>
<executions>
<execution>
<id>thrift-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<relocations>
<relocation>
<pattern>com.rbkmoney.damsel</pattern>
<shadedPattern>com.rbkmoney.damsel.v${commit.number}</shadedPattern>
</relocation>
</relocations>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>v${commit.number}</shadedClassifierName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>