Repository navigation
Expand file tree
/
Copy pathMakefile
More file actions
61 lines (45 loc) · 1.72 KB
/
Copy pathMakefile
File metadata and controls
61 lines (45 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
.PHONY: tests
tests:
docker-compose run --rm php vendor/bin/phpunit
.PHONY: infection
infection:
docker-compose run --rm php php -d memory_limit=512M vendor/bin/infection
.PHONY: psalm
psalm:
docker-compose run --rm php vendor/bin/psalm --no-cache --threads=1
.PHONY: cs-fix
cs-fix:
docker-compose run --rm php vendor/bin/php-cs-fixer fix
.PHONY: rector
rector:
docker-compose run --rm php vendor/bin/rector
.PHONY: shell
shell:
docker-compose run --rm php /bin/bash
.PHONY: coverage
coverage:
docker-compose run --rm php vendor/bin/phpunit --coverage-html=coverage --coverage-text
.PHONY: update
update:
docker-compose run --rm php composer update
.PHONY: init
init:
@if [ -z "$(NAME)" ]; then \
echo "Error: Please specify a package name."; \
echo "Example: make init NAME=my-awesome-package"; \
exit 1; \
fi
@echo "Starting to initialize the package: $(NAME)..."
$(eval PASCAL_NAME=$(shell echo $(NAME) | sed 's/-/ /g' | awk '{for(i=1;i<=NF;i++){$$i=toupper(substr($$i,1,1)) substr($$i,2)}}1' OFS=''))
@sed -i.bak 's/package-template/$(NAME)/g' composer.json && rm composer.json.bak
@sed -i.bak 's/PackageTemplate/$(PASCAL_NAME)/g' composer.json && rm composer.json.bak
@sed -i.bak 's/package-template/$(NAME)/g' README.md && rm README.md.bak
@sed -i.bak 's/PackageTemplate/$(PASCAL_NAME)/g' README.md && rm README.md.bak
@sed -i.bak 's/package-template/$(NAME)/g' sonar-project.properties && rm sonar-project.properties.bak
@sed -i.bak 's/PackageTemplate/$(PASCAL_NAME)/g' sonar-project.properties && rm sonar-project.properties.bak
@echo "Package name (kebab-case): $(NAME)"
@echo "Namespace (PascalCase): $(PASCAL_NAME)"
.PHONY: build
build:
docker-compose build
docker-compose run --rm php composer install