Skip to content

Commit a005d73

Browse files
committed
Remove PHP script doing message class splitting
There is a better approach in the Java version, so copying it (and fixing a minor error)
1 parent 662b700 commit a005d73

File tree

5 files changed

+19
-52
lines changed

5 files changed

+19
-52
lines changed

messages/java/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ JSONSCHEMAS = $(shell find ../jsonschema -name "*.json")
55
.codegen: $(JSONSCHEMAS) ../jsonschema/scripts/codegen.rb ../jsonschema/scripts/templates/java.java.erb ../jsonschema/scripts/templates/java.enum.java.erb
66
ruby ../jsonschema/scripts/codegen.rb Java ../jsonschema java.java.erb > Generated.java.tmp
77
ruby ../jsonschema/scripts/codegen.rb Java ../jsonschema java.enum.java.erb >> Generated.java.tmp
8-
csplit --quiet --prefix=Generated --suffix-format=%02d.java.tmp --elide-empty-files Generated.java.tmp /^.*.java$$/ {*}
8+
csplit --quiet --prefix=Generated --suffix-format=%02d.java.tmp --elide-empty-files Generated.java.tmp /^.*[.]java$$/ {*}
99
rm Generated.java.tmp
1010
rm -rf src/generated/java/io/cucumber/messages/types
1111
mkdir --parents src/generated/java/io/cucumber/messages/types

messages/jsonschema/scripts/templates/php.enum.php.erb

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
<% @enums.each do |enum| -%>
2+
<%= enum[:name].split('\\').join('/') %>.php
3+
<?php declare(strict_types=1);
4+
5+
/**
6+
* This code was auto-generated by {this script}[https://github.com/cucumber/common/blob/main/messages/jsonschema/scripts/codegen.rb]
7+
*/
8+
29
<%- namespaces = enum[:name].split('\\') -%>
310
namespace Cucumber\Messages\<%= namespaces.slice(0,1)[0] %>;
411

5-
// CLASS_START <%= enum[:name].split('\\').join('/') %>.php
612
enum <%= namespaces[-1] %> : string
713
{
814
<%- enum[:values].each_with_index do |value, index| -%>

messages/jsonschema/scripts/templates/php.php.erb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
<%- @schemas.sort.each do |key, schema| -%>
2+
<%= class_name(key) %>.php
13
<?php
24

35
declare(strict_types=1);
@@ -10,8 +12,6 @@ namespace Cucumber\Messages;
1012

1113
use JsonSerializable;
1214
use Cucumber\Messages\DecodingException\SchemaViolationException;
13-
<%- @schemas.sort.each do |key, schema| -%>
14-
// CLASS_START <%= class_name(key) %>.php
1515
/**
1616
* Represents the <%= class_name(key) %> message in Cucumber's message protocol
1717
* @see https://github.com/cucumber/common/tree/main/messages#readme

messages/php/Makefile

+9-8
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,20 @@ JSONSCHEMAS = $(shell find ../jsonschema -name "*.json")
44

55
clean: clean-build
66

7-
.codegen: build/messages.php
7+
.codegen: $(JSONSCHEMAS) ../jsonschema/scripts/codegen.rb ../jsonschema/scripts/templates/php.php.erb
8+
ruby ../jsonschema/scripts/codegen.rb Php ../jsonschema php.php.erb > build/messages.php
9+
ruby ../jsonschema/scripts/codegen.rb Php ../jsonschema php.enum.php.erb >> build/messages.php
10+
csplit --quiet --prefix=build/Generated --suffix-format=%02d.php.tmp --elide-empty-files build/messages.php /^.*[.]php$$/ {*}
11+
rm build/messages.php
12+
rm -rf src-generated/*
13+
for file in build/Generated**; do mkdir -p src-generated/$$(head -n 1 $$file | sed 's/[^/]*.php$$//'); done
14+
for file in build/Generated**; do tail -n +2 $$file > src-generated/$$(head -n 1 $$file); rm $$file; done
15+
vendor/bin/php-cs-fixer --diff fix src-generated
816

917
clean-build:
1018
rm -rf build/messages.php
1119
rm -rf src-generated/*
1220

13-
build/messages.php: $(JSONSCHEMAS) ../jsonschema/scripts/codegen.rb ../jsonschema/scripts/templates/php.php.erb
14-
ruby ../jsonschema/scripts/codegen.rb Php ../jsonschema php.php.erb > $@
15-
ruby ../jsonschema/scripts/codegen.rb Php ../jsonschema php.enum.php.erb >> $@
16-
rm -rf src-generated/*
17-
php split_classes.php
18-
vendor/bin/php-cs-fixer --diff fix src-generated
19-
2021
.tested: .cs-fixer
2122

2223
.cs-fixer:

messages/php/split_classes.php

-40
This file was deleted.

0 commit comments

Comments
 (0)