mirror of
https://github.com/JetBrains/JetBrainsRuntime.git
synced 2025-12-06 01:19:28 +01:00
75 lines
3.2 KiB
Plaintext
75 lines
3.2 KiB
Plaintext
#
|
|
# Copyright 2000-2023 JetBrains s.r.o.
|
|
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
#
|
|
# This code is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License version 2 only, as
|
|
# published by the Free Software Foundation. Oracle designates this
|
|
# particular file as subject to the "Classpath" exception as provided
|
|
# by Oracle in the LICENSE file that accompanied this code.
|
|
#
|
|
# This code is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
# version 2 for more details (a copy is included in the LICENSE file that
|
|
# accompanied this code).
|
|
#
|
|
# You should have received a copy of the GNU General Public License version
|
|
# 2 along with this work; if not, write to the Free Software Foundation,
|
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
#
|
|
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
# or visit www.oracle.com if you need additional information or have any
|
|
# questions.
|
|
#
|
|
|
|
include $(SPEC)
|
|
include MakeBase.gmk
|
|
include Utils.gmk
|
|
|
|
JBR_API_ORIGIN := https://github.com/JetBrains/JetBrainsRuntimeApi.git
|
|
JBR_API_DIR := $(TOPDIR)/jbr-api
|
|
|
|
ARTIFACT_NAME := jbr-api-SNAPSHOT
|
|
ifeq ($(call isBuildOsEnv, windows.cygwin windows.msys2), true)
|
|
HOME := $$USERPROFILE
|
|
M2_REPO := $(shell $(PATHTOOL) $(HOME))/.m2/repository
|
|
else ifeq ($(call isBuildOsEnv, windows.wsl1 windows.wsl2), true)
|
|
HOME := `cmd.exe /C "echo %USERPROFILE%" 2> /dev/null`
|
|
M2_REPO := $(shell $(PATHTOOL) $(HOME))/.m2/repository
|
|
else
|
|
M2_REPO := $(HOME)/.m2/repository
|
|
endif
|
|
M2_ARTIFACT := $(M2_REPO)/org/jetbrains/runtime/jbr-api/SNAPSHOT
|
|
M2_POM_CONTENT := \
|
|
<?xml version="1.0" encoding="UTF-8"?> \
|
|
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" \
|
|
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> \
|
|
<modelVersion>4.0.0</modelVersion> \
|
|
<groupId>org.jetbrains.runtime</groupId> \
|
|
<artifactId>jbr-api</artifactId> \
|
|
<version>SNAPSHOT</version> \
|
|
</project> \
|
|
|
|
jbr-api:
|
|
if [ -d "$(JBR_API_DIR)" ]; then \
|
|
$(GIT) -C "$(JBR_API_DIR)" fetch; \
|
|
$(GIT) -C "$(JBR_API_DIR)" merge-base --is-ancestor origin/main HEAD || \
|
|
$(ECHO) "!!! Current JBR API revision is outdated, update the branch in $(JBR_API_DIR) !!!"; \
|
|
else \
|
|
$(ECHO) "JBR API directory does not exist. Initializing..."; \
|
|
$(GIT) clone "$(JBR_API_ORIGIN)" "$(JBR_API_DIR)" --config core.autocrlf=false; \
|
|
fi
|
|
$(BASH) "$(JBR_API_DIR)/tools/build.sh" dev "$(BOOT_JDK)"
|
|
if [ -d "$(M2_REPO)" ]; then \
|
|
$(MKDIR) -p $(M2_ARTIFACT); \
|
|
$(ECHO) '$(M2_POM_CONTENT)' > $(M2_ARTIFACT)/$(ARTIFACT_NAME).pom; \
|
|
$(CP) "$(JBR_API_DIR)/out/$(ARTIFACT_NAME).jar" "$(M2_ARTIFACT)"; \
|
|
$(ECHO) "Installed into local Maven repository as org.jetbrains.runtime:jbr-api:SNAPSHOT"; \
|
|
cd "$(M2_ARTIFACT)" && sha256sum --binary "$(ARTIFACT_NAME).jar"; \
|
|
else \
|
|
$(ECHO) "No Maven repository found at $(M2_REPO) - skipping local installation"; \
|
|
fi
|
|
|
|
.PHONY: jbr-api
|