Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 16 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,37 @@ name: Build

on:
push:
branches: [ master ]
branches: [ main ]
pull_request:
types: [opened, synchronize, reopened]

jobs:
build:
strategy:
fail-fast: false
matrix:
php-versions: ['8.3', '8.4']
dependency-versions: ['lowest', 'highest']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis

- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}

- run: composer validate --strict
- run: composer config --no-plugins allow-plugins.dealerdirect/phpcodesniffer-composer-installer true
- run: composer install --prefer-dist --no-progress --no-suggest


- uses: ramsey/composer-install@v2
with:
dependency-versions: ${{ matrix.dependency-versions }}

- name: Upgrade analysis tools to latest
if: ${{ matrix.dependency-versions == 'lowest' }}
run: composer update phpstan/phpstan rector/rector phpunit/phpunit squizlabs/php_codesniffer --with-all-dependencies --no-interaction

- run: vendor/bin/phpcs
if: ${{ failure() || success() }}

Expand All @@ -37,12 +44,12 @@ jobs:

- run: XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-clover ./clover.xml --log-junit ./phpunit.report.xml
if: ${{ failure() || success() }}

# https://community.sonarsource.com/t/code-coverage-doesnt-work-with-github-action/16747
# $GITHUB_WORKSPACE contains a slash so @ is used as delimiter
- run: sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' clover.xml
- run: sed -i 's@'$GITHUB_WORKSPACE'@/github/workspace/@g' phpunit.report.xml

- uses: sonarsource/sonarcloud-github-action@master
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/vendor/*
.phpunit.result.cache
.phpunit.cache
.idea
.php_cs.cache
composer.lock
58 changes: 29 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
# AssoConnectDoctrineTypesBundle

[![Build Status](https://github.com/assoconnect/doctrine-types-bundle/actions/workflows/build.yml/badge.svg)](https://github.com/assoconnect/doctrine-types-bundle/actions/workflows/build.yml)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=assoconnect_doctrine-types-bundle&metric=coverage)](https://sonarcloud.io/dashboard?id=assoconnect_doctrine-types-bundle)

This Symfony5 bundle provides the integration of [Symfony validation component](https://symfony.com/doc/current/validation.html) with [Doctrine entity custom type](https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/cookbook/custom-mapping-types.html) to avoid duplicate code for the following types:
- [Amount](/src/Doctrine/DBAL/Types/AmountType.php)
- [AbsolutePercentValue](/src/Doctrine/DBAL/Types/AbsolutePercentValueType.php)
- [BelgianEnterpriseNumber](/src/Doctrine/DBAL/Types/BelgianEnterpriseNumberType.php)
- [Bic](/src/Doctrine/DBAL/Types/BicType.php)
- [Country](/src/Doctrine/DBAL/Types/CountryType.php)
- [Currency](/src/Doctrine/DBAL/Types/CurrencyType.php)
- [Email](/src/Doctrine/DBAL/Types/EmailType.php)
- [FrenchRna](/src/Doctrine/DBAL/Types/FrenchRnaType.php)
- [FrenchSiren](/src/Doctrine/DBAL/Types/FrenchSirenType.php)
- [FrenchSiret](/src/Doctrine/DBAL/Types/FrenchSiretType.php)
- [Iban](/src/Doctrine/DBAL/Types/IbanType.php)
- [Ip](/src/Doctrine/DBAL/Types/IpType.php)
- [Latitude](/src/Doctrine/DBAL/Types/LatitudeType.php)
- [Locale](/src/Doctrine/DBAL/Types/LocaleType.php)
- [Longitude](/src/Doctrine/DBAL/Types/LongitudeType.php)
- [Money](/src/Doctrine/DBAL/Types/MoneyType.php)
- [PhoneLandline](/src/Doctrine/DBAL/Types/PhoneLandlineType.php)
- [PhoneMobile](/src/Doctrine/DBAL/Types/PhoneMobileType.php)
- [Phone](/src/Doctrine/DBAL/Types/PhoneType.php)
- [Postal](/src/Doctrine/DBAL/Types/PostalType.php)
- [Timezone](/src/Doctrine/DBAL/Types/TimezoneType.php)

It also supports nullable and non-nullable fields.
# AssoConnectDoctrineTypesBundle
[![Build Status](https://github.com/assoconnect/doctrine-types-bundle/actions/workflows/build.yml/badge.svg)](https://github.com/assoconnect/doctrine-types-bundle/actions/workflows/build.yml)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=assoconnect_doctrine-types-bundle&metric=coverage)](https://sonarcloud.io/dashboard?id=assoconnect_doctrine-types-bundle)
This Symfony5 bundle provides the integration of [Symfony validation component](https://symfony.com/doc/current/validation.html) with [Doctrine entity custom type](https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/cookbook/custom-mapping-types.html) to avoid duplicate code for the following types:
- [Amount](/src/Doctrine/DBAL/Types/AmountType.php)
- [AbsolutePercentValue](/src/Doctrine/DBAL/Types/AbsolutePercentValueType.php)
- [BelgianEnterpriseNumber](/src/Doctrine/DBAL/Types/BelgianEnterpriseNumberType.php)
- [Bic](/src/Doctrine/DBAL/Types/BicType.php)
- [Country](/src/Doctrine/DBAL/Types/CountryType.php)
- [Currency](/src/Doctrine/DBAL/Types/CurrencyType.php)
- [Email](/src/Doctrine/DBAL/Types/EmailType.php)
- [FrenchRna](/src/Doctrine/DBAL/Types/FrenchRnaType.php)
- [FrenchSiren](/src/Doctrine/DBAL/Types/FrenchSirenType.php)
- [FrenchSiret](/src/Doctrine/DBAL/Types/FrenchSiretType.php)
- [Iban](/src/Doctrine/DBAL/Types/IbanType.php)
- [Ip](/src/Doctrine/DBAL/Types/IpType.php)
- [Latitude](/src/Doctrine/DBAL/Types/LatitudeType.php)
- [Locale](/src/Doctrine/DBAL/Types/LocaleType.php)
- [Longitude](/src/Doctrine/DBAL/Types/LongitudeType.php)
- [Money](/src/Doctrine/DBAL/Types/MoneyType.php)
- [PhoneLandline](/src/Doctrine/DBAL/Types/PhoneLandlineType.php)
- [PhoneMobile](/src/Doctrine/DBAL/Types/PhoneMobileType.php)
- [Phone](/src/Doctrine/DBAL/Types/PhoneType.php)
- [Postal](/src/Doctrine/DBAL/Types/PostalType.php)
- [Timezone](/src/Doctrine/DBAL/Types/TimezoneType.php)
It also supports nullable and non-nullable fields.
3 changes: 1 addition & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@
"doctrine/annotations": "~1.0",
"symfony/framework-bundle": "^7.0",
"symfony/yaml": "^7.0",
"squizlabs/php_codesniffer": "^3.5",
"assoconnect/php-quality-config": "^2"
"assoconnect/php-quality-config": "^2.2"
},
"config": {
"allow-plugins": {
Expand Down
2 changes: 1 addition & 1 deletion phpcs.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<ruleset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="vendor/squizlabs/php_codesniffer/phpcs.xsd">

<rule ref="PSR12"/>
<rule ref="./vendor/assoconnect/php-quality-config/phpcs.ruleset.xml"/>

<file>src/</file>
<file>tests/</file>
Expand Down
1 change: 1 addition & 0 deletions phpunit.xml.dist
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<env name="KERNEL_CLASS" value="App\Kernel"/>
<env name="APP_ENV" value="test"/>
<env name="APP_DEBUG" value="1"/>
<env name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>
</php>
<testsuites>
<testsuite name="main">
Expand Down
2 changes: 0 additions & 2 deletions src/AssoConnectDoctrineTypesBundle.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

namespace AssoConnect\DoctrineTypesBundle;

use AssoConnect\DoctrineTypesBundle\DependencyInjection\AssoConnectDoctrineValidatorExtension;
use Symfony\Component\DependencyInjection\Extension\ExtensionInterface;
use Symfony\Component\HttpKernel\Bundle\Bundle;

class AssoConnectDoctrineTypesBundle extends Bundle
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@

use DateTimeImmutable;
use DateTimeInterface;
use Doctrine\DBAL\Types\Type;
use Doctrine\DBAL\Platforms\AbstractPlatform;
use Doctrine\DBAL\Types\ConversionException;
use Doctrine\DBAL\Types\Type;

class DateTimeImmutableMicroSecondsType extends Type
{
Expand Down
4 changes: 2 additions & 2 deletions tests/Doctrine/DBAL/Types/BelgianEnterpriseNumberTypeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ public function testGetSQLDeclaration(): void
$this->abstractPlatform
->method('getVarcharTypeDeclarationSQL')
->with(['length' => BelgianEnterpriseNumberType::LENGTH])
->willReturn("VARCHAR");
->willReturn('VARCHAR');

self::assertSame("VARCHAR", $this->type->getSQLDeclaration([], $this->abstractPlatform));
self::assertSame('VARCHAR', $this->type->getSQLDeclaration([], $this->abstractPlatform));
}
}
3 changes: 1 addition & 2 deletions tests/Doctrine/DBAL/Types/BicTypeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

use AssoConnect\DoctrineTypesBundle\Doctrine\DBAL\Types\BicType;
use AssoConnect\DoctrineTypesBundle\Tests\TypeTestCase;
use Doctrine\DBAL\Platforms\MySqlPlatform;

class BicTypeTest extends TypeTestCase
{
Expand All @@ -22,7 +21,7 @@ public function testGetName(): void

public function testGetSQLDeclaration(): void
{
$this->abstractPlatform->method("getVarcharTypeDeclarationSQL")->willReturn("VARCHAR");
$this->abstractPlatform->method('getVarcharTypeDeclarationSQL')->willReturn('VARCHAR');
self::assertSame('VARCHAR', $this->type->getSQLDeclaration([], $this->abstractPlatform));
}
}
4 changes: 2 additions & 2 deletions tests/Doctrine/DBAL/Types/CountryTypeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ public function testGetSQLDeclaration(): void
$this->abstractPlatform
->method('getVarcharTypeDeclarationSQL')
->with(['fixed' => true, 'length' => CountryType::LENGTH])
->willReturn("VARCHAR");
->willReturn('VARCHAR');

self::assertSame("VARCHAR", $this->type->getSQLDeclaration([], $this->abstractPlatform));
self::assertSame('VARCHAR', $this->type->getSQLDeclaration([], $this->abstractPlatform));
}
}
4 changes: 2 additions & 2 deletions tests/Doctrine/DBAL/Types/LatitudeTypeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ public function testGetName(): void

public function testGetSQLDeclaration(): void
{
$this->abstractPlatform->method("getDecimalTypeDeclarationSQL")->willReturn("DECIMAL");
$this->abstractPlatform->method('getDecimalTypeDeclarationSQL')->willReturn('DECIMAL');

self::assertSame("DECIMAL", $this->type->getSQLDeclaration([], $this->abstractPlatform));
self::assertSame('DECIMAL', $this->type->getSQLDeclaration([], $this->abstractPlatform));
}
}
Loading