Issue #3330490: Update Drupal core to 10.x in farmOS

This commit is contained in:
Michael Stenta 2023-10-30 12:31:29 -04:00
commit d6e8718086
137 changed files with 194 additions and 163 deletions

View File

@ -77,8 +77,8 @@ jobs:
run: docker run farmos/farmos:3.x-dev phpstan analyze --memory-limit 1G /opt/drupal/web/profiles/farm
- name: Check PHP compatibility of contrib modules and themes (ignore warnings).
run: |
docker run farmos/farmos:3.x-dev phpcs --standard=PHPCompatibility --runtime-set testVersion 7.4- --warning-severity=0 /opt/drupal/web/modules
docker run farmos/farmos:3.x-dev phpcs --standard=PHPCompatibility --runtime-set testVersion 7.4- --warning-severity=0 /opt/drupal/web/themes
docker run farmos/farmos:3.x-dev phpcs --standard=PHPCompatibility --runtime-set testVersion 8.2- --warning-severity=0 /opt/drupal/web/modules
docker run farmos/farmos:3.x-dev phpcs --standard=PHPCompatibility --runtime-set testVersion 8.2- --warning-severity=0 /opt/drupal/web/themes
test:
name: Run PHPUnit tests
runs-on: ubuntu-latest
@ -92,13 +92,10 @@ jobs:
include:
- dbms: pgsql
DB_URL: pgsql://farm:farm@db/farm
processes: auto
- dbms: mariadb
DB_URL: mysql://farm:farm@db/farm
processes: auto
- dbms: sqlite
DB_URL: sqlite://localhost/sites/default/files/db.sqlite
processes: 1
steps:
- name: Print test matrix variables
run: echo "matrix.dbms=${{ matrix.dbms }}, matrix.DB_URL=${{ matrix.DB_URL }}"
@ -126,7 +123,7 @@ jobs:
# so waiting for that lets us know it is safe to start the tests
run: until [ -f ./www/www-container-fs-ready ]; do sleep 0.1; done
- name: Run PHPUnit tests
run: docker compose exec -u www-data -T www paratest -vv --processes=${{ matrix.processes }} /opt/drupal/web/profiles/farm
run: docker compose exec -u www-data -T www phpunit --verbose /opt/drupal/web/profiles/farm
- name: Test Drush site install with all modules
run: docker compose exec -u www-data -T www drush site-install --db-url=${{ matrix.DB_URL }} farm farm.modules='all'
release:

View File

@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- [Remove deprecated farm_log_asset_names_summary()](https://www.drupal.org/node/3359456)
- [Issue #3394069: Update quantities to use bundle permission granularity](https://www.drupal.org/node/3394069)
- [Issue #3357679: Allow material quantities to reference multiple material types](https://www.drupal.org/project/farm/issues/3357679)
- [Issue #3330490: Update Drupal core to 10.x in farmOS](https://www.drupal.org/project/farm/issues/3330490)
## [2.2.2] 2023-10-25

View File

@ -17,26 +17,26 @@
],
"require": {
"cweagans/composer-patches": "^1.6",
"drupal/admin_toolbar": "^3.2",
"drupal/core": "9.5.11",
"drupal/config_update": "^1.7",
"drupal/admin_toolbar": "^3.3",
"drupal/core": "10.1.5",
"drupal/config_update": "^2.0@alpha",
"drupal/consumers": "^1.15",
"drupal/csv_serialization": "^2.0",
"drupal/date_popup": "^1.1",
"drupal/csv_serialization": "^3.0@beta",
"drupal/date_popup": "^1.3",
"drupal/entity": "1.4",
"drupal/entity_browser": "^2.6",
"drupal/entity_browser": "2.9",
"drupal/entity_reference_integrity": "^1.1",
"drupal/entity_reference_revisions": "1.10",
"drupal/entity_reference_validators": "^1.0@beta",
"drupal/exif_orientation": "^1.1",
"drupal/exif_orientation": "^1.2",
"drupal/fraction": "^2.3.1",
"drupal/geofield": "^1.33",
"drupal/gin": "^3.0@beta",
"drupal/geofield": "^1.40",
"drupal/gin": "^3.0@rc",
"drupal/inline_entity_form": "^1.0@RC",
"drupal/inspire_tree": "^1.0",
"drupal/jsonapi_extras": "^3.15",
"drupal/jsonapi_extras": "^3.22",
"drupal/jsonapi_schema": "1.0-rc1",
"drupal/log": "^2.0.2",
"drupal/log": "^2.1",
"drupal/migrate_plus": "^6.0",
"drupal/migrate_source_csv": "^3.5",
"drupal/migrate_source_ui": "^1.0",
@ -44,8 +44,8 @@
"drupal/role_delegation": "^1.2",
"drupal/simple_oauth": "5.2.4",
"drupal/state_machine": "1.8",
"drupal/subrequests": "^3.0.3",
"drupal/token": "^1.7",
"drupal/subrequests": "^3.0.6",
"drupal/token": "^1.11",
"drupal/views_geojson": "^1.2",
"drush/drush": "^11.3",
"ext-simplexml": "*",
@ -58,13 +58,17 @@
"patches": {
"drupal/core": {
"Issue #2429699: Add Views EntityReference filter to be available for all entity reference fields.": "https://www.drupal.org/files/issues/2021-12-02/2429699-453-9.3.x.patch",
"Issue #2339235: Remove taxonomy hard dependency on node module": "https://www.drupal.org/files/issues/2021-12-09/2339235-9.3.x-76.patch",
"Issue #2339235: Remove taxonomy hard dependency on node module": "https://www.drupal.org/files/issues/2023-10-05/2339235-10.1.x-80.patch",
"Issue #1874838: Allow exposed blocks to use 'Link display' settings": "https://www.drupal.org/files/issues/2021-11-11/1874838-26.patch",
"Issue #2909128: Autocomplete not working on Chrome Android": "https://www.drupal.org/files/issues/2022-12-16/drupal-2909128-9.5.x-74.patch"
"Issue #2909128: Autocomplete not working on Chrome Android": "https://www.drupal.org/files/issues/2023-07-11/2909128-92.patch",
"Issue #3349973: Automatically install pg_trgm extension on PostgreSQL 13+": "https://www.drupal.org/files/issues/2023-05-08/3349973-26.patch"
},
"drupal/entity": {
"Issue #3206703: Provide reverse relationships for bundle plugin entity_reference fields.": "https://www.drupal.org/files/issues/2022-05-11/3206703-10.patch"
},
"drupal/entity_browser": {
"Issue #3350169: Fix PHP 8.2 deprecation issue with WidgetSelectorBase-class": "https://www.drupal.org/files/issues/2023-06-15/3350169-8_0.patch"
},
"drupal/entity_reference_revisions": {
"Issue #3267304: Infer target_revision_id to be Latest Revision when Only a target_id is Provided": "https://www.drupal.org/files/issues/2022-05-13/3267304-9.patch"
},

View File

@ -1,14 +1,13 @@
{
"require": {
"cweagans/composer-patches": "^1.7",
"drupal/core-composer-scaffold": "9.5.11"
"drupal/core-composer-scaffold": "10.1.5"
},
"require-dev": {
"behat/mink": "^1.10",
"behat/mink-browserkit-driver": "^2.1",
"behat/mink-selenium2-driver": "^1.6",
"brianium/paratest": "^6",
"drupal/coder": "^8.3",
"friends-of-behat/mink-browserkit-driver": "^1.6",
"mglaman/phpstan-drupal": "^1.1",
"mikey179/vfsstream": "^1.6",
"phpstan/extension-installer": "^1.1",
@ -17,10 +16,7 @@
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpunit/phpunit": "^9",
"phpspec/prophecy-phpunit": "^2",
"symfony/phpunit-bridge": "^5.4"
},
"_comments": {
"phpspec/prophecy-phpunit": "Required to fix ProphecyTrait not found, until Drupal core drops support for PHPUnit 8. See https://www.drupal.org/node/3176567"
"symfony/phpunit-bridge": "^6.2"
},
"conflict": {
"drupal/drupal": "*"

View File

@ -1,5 +1,5 @@
# Inherit from the Drupal 9 image on Docker Hub.
FROM drupal:9.5
# Inherit from the Drupal 10 image on Docker Hub.
FROM drupal:10.1
# Set the farmOS and composer project repository URLs and versions.
ARG FARMOS_REPO=https://github.com/farmOS/farmOS.git

View File

@ -44,7 +44,7 @@ RUN { \
echo ' <description>PHP CodeSniffer configuration for farmOS development.</description>'; \
echo ' <file>.</file>'; \
echo ' <arg name="extensions" value="php,module,inc,install,test,profile,theme,css,info,txt,yml"/>'; \
echo ' <config name="drupal_core_version" value="9"/>'; \
echo ' <config name="drupal_core_version" value="10"/>'; \
echo ' <rule ref="Drupal">'; \
echo ' <exclude name="Drupal.InfoFiles.AutoAddedKeys.Project"/>'; \
echo ' <exclude name="Drupal.InfoFiles.AutoAddedKeys.Version"/>'; \
@ -57,7 +57,7 @@ RUN { \
echo ' <exclude name="DrupalPractice.Commenting.CommentEmptyLine.SpacingAfter"/>'; \
echo ' </rule>'; \
echo ' <rule ref="PHPCompatibility"/>'; \
echo ' <config name="testVersion" value="7.4-"/>'; \
echo ' <config name="testVersion" value="8.2-"/>'; \
echo ' <rule ref="Internal.Tokenizer.Exception"><severity>0</severity></rule>'; \
echo '</ruleset>'; \
} > /var/farmOS/phpcs.xml
@ -85,7 +85,7 @@ RUN cp -p /var/farmOS/web/core/phpunit.xml.dist /var/farmOS/phpunit.xml \
&& sed -i 's|name="MINK_DRIVER_ARGS_WEBDRIVER" value='\'''\''|name="MINK_DRIVER_ARGS_WEBDRIVER" value='\''["chrome", { "chromeOptions": { "w3c": false, "args": ["--disable-gpu","--headless", "--no-sandbox"] } }, "http://chrome:4444/wd/hub"]'\''|g' /var/farmOS/phpunit.xml \
&& sed -i 's|\./|\./web/core/|g' /var/farmOS/phpunit.xml \
&& sed -i 's|\.\./web/core/|\./web/|g' /var/farmOS/phpunit.xml \
&& sed -i 's| </php>| <env name="SYMFONY_DEPRECATIONS_HELPER" value="quiet[]=indirect"/>'"\n"' </php>|g' /var/farmOS/phpunit.xml \
&& sed -i 's| </php>| <env name="SYMFONY_DEPRECATIONS_HELPER" value="disabled"/>'"\n"' </php>|g' /var/farmOS/phpunit.xml \
&& mkdir -p /var/farmOS/web/sites/simpletest/browser_output
# Change back to the root user.

View File

@ -1,7 +1,7 @@
version: '3'
services:
db:
image: postgres:12
image: postgres:13
volumes:
- './db:/var/lib/postgresql/data'
ports:

View File

@ -2,7 +2,7 @@
version: '3'
services:
db:
image: postgres:12
image: postgres:13
volumes:
- './db:/var/lib/postgresql/data'
ports:

View File

@ -45,7 +45,7 @@ name: My log type
description: Adds my new custom log type.
type: module
package: farmOS Contrib
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_entity
- log:log

View File

@ -26,7 +26,7 @@ name: Harvest Quick Form
description: Provides a quick form for recording a harvest.
type: module
package: farmOS Quick Forms
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_harvest
- farm:farm_quantity_standard

View File

@ -160,7 +160,7 @@ name: My module
description: A custom module for my farmOS project.
type: module
package: farmOS Custom
core_version_requirement: ^9
core_version_requirement: ^10
```
This can be committed to your project's Git repository, and installed in your

View File

@ -36,6 +36,14 @@ PostgreSQL is recommended. MySQL/MariaDB and SQLite are also supported.
This can be installed on the same server as farmOS (either directly or in a
Docker container), or it can be on a separate server.
If PostgreSQL is used, it must be version 12 or higher, and the `pg_trgm`
extension must be installed and enabled on the farmOS database. On PostgreSQL
13+ this will be enabled automatically by farmOS. On PostgreSQL 12, the
following SQL query must be run on the farmOS database by a PostgreSQL
superuser to enable the extension:
CREATE EXTENSION pg_trgm;
### SSL
Although not strictly a requirement, some features (like the "Geolocate" button

View File

@ -1,7 +1,7 @@
name: farmOS
type: profile
description: 'A web-based farm record keeping application.'
core_version_requirement: ^9
core_version_requirement: ^10
# Drupal.org needs this for usage statistics.
project: farm

View File

@ -2,7 +2,7 @@ name: Animal asset
description: Adds an Animal asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_animal_type

View File

@ -2,7 +2,7 @@ name: Compost asset
description: Adds a Compost asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_entity

View File

@ -2,7 +2,7 @@ name: Equipment asset
description: Adds an Equipment asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_entity

View File

@ -2,7 +2,7 @@ name: farmOS Equipment Test
description: Module for testing Equipment field.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_entity
- farm:farm_equipment

View File

@ -2,7 +2,7 @@ name: Group asset
description: Adds a Group asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_entity

View File

@ -2,7 +2,7 @@ name: farmOS Equipment Test
description: Module for testing Equipment field.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_entity
- farm:farm_group

View File

@ -2,7 +2,7 @@ name: Land asset
description: Adds a Land asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_entity

View File

@ -2,6 +2,6 @@ name: farmOS Default Land Types
description: 'Provides default land types: Property, Field, Bed, Paddock, Landmark.'
type: module
package: farmOS Defaults
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_land

View File

@ -2,7 +2,7 @@ name: Material asset
description: Adds a Material asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_entity

View File

@ -2,7 +2,7 @@ name: Plant asset
description: Adds a Plant asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_entity

View File

@ -2,7 +2,7 @@ name: Seed asset
description: Adds a Seed asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_entity

View File

@ -2,7 +2,7 @@ name: Sensor asset
description: Adds a Sensor asset type with data streams.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:data_stream

View File

@ -2,7 +2,7 @@ name: Sensor listener
description: Provides a Listener (Legacy) API endpoint to support sensors created in farmOS 1.x.
type: module
package: farmOS (Legacy)
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_sensor
- farm:data_stream

View File

@ -122,7 +122,7 @@ class SensorDataController extends ControllerBase {
$params['limit'] = $limit;
$data = $this->basicDataStream->storageGetMultiple($basic_data_streams, $params);
return JsonResponse::create($data);
return new JsonResponse($data);
case Request::METHOD_POST:
@ -151,7 +151,7 @@ class SensorDataController extends ControllerBase {
foreach ($basic_data_streams as $data_stream) {
$this->basicDataStream->storageSave($data_stream, $data);
}
return Response::create('', Response::HTTP_CREATED);
return new Response('', Response::HTTP_CREATED);
}
// Else raise error.

View File

@ -2,7 +2,7 @@ name: Structure asset
description: Adds a Structure asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_entity

View File

@ -2,6 +2,6 @@ name: farmOS Default Structure Types
description: 'Provides default structure types: Building, Greenhouse.'
type: module
package: farmOS Defaults
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_structure

View File

@ -2,7 +2,7 @@ name: Water asset
description: Adds a Water asset type.
type: module
package: farmOS Assets
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_entity

View File

@ -2,7 +2,7 @@ name: farmOS API
description: Provides configuration for the farmOS API.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:jsonapi
- entity:entity

View File

@ -6,6 +6,7 @@
*/
use Drupal\consumers\Entity\Consumer;
use Drupal\Core\Utility\Error;
/**
* Implements hook_install().
@ -59,7 +60,8 @@ function farm_api_install() {
$key_gen->generateKeys($keys_path);
}
catch (\Exception $e) {
watchdog_exception('farm_api', $e);
$logger = \Drupal::logger('farm_api');
Error::logException($logger, $e);
}
}

View File

@ -2,7 +2,7 @@ name: farmOS API Tests
description: 'Support module for farmOS API testing.'
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- log:log

View File

@ -2,7 +2,7 @@ name: Asset
description: Provides an asset entity type for real world record keeping.
type: module
package: Asset
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:system (>=8.8.0)
- drupal:user

View File

@ -2,6 +2,6 @@ name: Asset module tests
description: Support module for asset testing.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset

View File

@ -2,7 +2,7 @@ name: farmOS Data Stream
description: Provides a general purpose data stream entity.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- entity:entity
- fraction:fraction

View File

@ -2,7 +2,7 @@ name: farmOS Data Stream Notification
description: Provides notifications for data streams.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:data_stream
- farm:farm_notification

View File

@ -2,4 +2,4 @@ name: farmOS Data Stream Notification Test
description: Module for testing farmOS data stream notifications.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10

View File

@ -21,7 +21,7 @@ class NumericConditionTest extends KernelTestBase {
/**
* {@inheritdoc}
*/
public static $modules = [
protected static $modules = [
'data_stream_notification',
];

View File

@ -301,7 +301,7 @@ class Basic extends DataStreamTypeBase implements DataStreamStorageInterface, Da
$params['limit'] = $limit;
$data = $this->storageGet($stream, $params);
return JsonResponse::create($data);
return new JsonResponse($data);
}
/**
@ -323,7 +323,7 @@ class Basic extends DataStreamTypeBase implements DataStreamStorageInterface, Da
throw new BadRequestHttpException();
}
return Response::create('', Response::HTTP_CREATED);
return new Response('', Response::HTTP_CREATED);
}
/**

View File

@ -2,7 +2,7 @@ name: farmOS Entity
description: Adds opinionated entity and field configuration to farmOS entity types.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- entity:entity
- entity_reference_integrity:entity_reference_integrity_enforce

View File

@ -2,7 +2,7 @@ name: farmOS Entity Fields
description: Adds common base fields to farmOS entity types.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:file
- drupal:image

View File

@ -2,4 +2,4 @@ name: farmOS Entity Views
description: Views integration support for farmOS entities and fields.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10

View File

@ -2,7 +2,7 @@ name: farmOS Bundle Fields Test
description: Module for testing farmOS bundle fields behavior.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_entity
- farm:farm_entity_test

View File

@ -2,7 +2,7 @@ name: farmOS Entity Contrib Test
description: Module for testing farmOS contrib module behavior.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_entity
- farm:farm_entity_test

View File

@ -2,7 +2,7 @@ name: farmOS Entity Test
description: Module for testing farmOS entities.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_entity
- farm:plan

View File

@ -2,7 +2,7 @@ name: farmOS Field
description: Provides a service for generating farmOS field definitions.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:field
- entity:entity

View File

@ -2,7 +2,7 @@ name: farmOS Field Kit
description: Allows Field Kit to connect to this farmOS server.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- entity:entity
- farm:farm_api

View File

@ -2,6 +2,6 @@ name: farmOS Field Kit Test
description: Test field module.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_fieldkit

View File

@ -2,7 +2,7 @@ name: farmOS Flags
description: Provides a general purpose record flagging system.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:text
- farm:farm_field

View File

@ -15,7 +15,7 @@ class FlagTest extends KernelTestBase {
/**
* {@inheritdoc}
*/
public static $modules = [
protected static $modules = [
'farm_field',
'farm_flag',
'log',

View File

@ -2,6 +2,6 @@ name: farmOS Text Format
description: Provides a default text format
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:filter

View File

@ -2,6 +2,6 @@ name: farmOS Geo
description: Provides geospatial features that other modules can use.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- geofield:geofield

View File

@ -128,4 +128,13 @@ class ContentEntityGeometryNormalizer implements NormalizerInterface, Serializer
return $invalid_count === 0;
}
/**
* {@inheritdoc}
*/
public function getSupportedTypes(?string $format): array {
return [
GeometryWrapper::class => TRUE,
];
}
}

View File

@ -2,7 +2,7 @@ name: farmOS ID Tag
description: Provides a field for ID Tags.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_field

View File

@ -2,7 +2,7 @@ name: farmOS ID Tag Test
description: Module for testing farmOS ID Tag field.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_id_tag

View File

@ -2,6 +2,6 @@ name: farmOS Import
description: Features for importing records.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_setup

View File

@ -2,7 +2,7 @@ name: farmOS Import CSV
description: Provides CSV import features for farmOS.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:file
- drupal:taxonomy

View File

@ -2,7 +2,7 @@ name: farmOS Import CSV Test
description: Support module for CSV import testing.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_animal_type
- farm:farm_equipment

View File

@ -2,7 +2,7 @@ name: farmOS Import KML
description: Provides a KML import feature for farmOS.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_import
- farm:farm_kml

View File

@ -2,7 +2,7 @@ name: farmOS Inventory
description: Adds inventory features to quantities.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:options
- farm:asset

View File

@ -2,7 +2,7 @@ name: farmOS Inventory Tests
description: 'Support module for inventory testing.'
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:quantity

View File

@ -2,6 +2,6 @@ name: farmOS KML
description: Provides KML features for farmOS.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_geo

View File

@ -26,7 +26,7 @@ class Kml extends XmlEncoder {
/**
* {@inheritdoc}
*/
public function encode($data, $format, array $context = []) {
public function encode($data, $format, array $context = []): string {
// Build XML document to encode.
$xml = [
@ -51,7 +51,7 @@ class Kml extends XmlEncoder {
/**
* {@inheritdoc}
*/
public function decode($data, $format, array $context = []) {
public function decode($data, $format, array $context = []): mixed {
// Start an array of decoded placemark data.
$decoded_placemarks = [];

View File

@ -163,4 +163,13 @@ class KmlNormalizer implements NormalizerInterface, DenormalizerInterface {
return ['name', 'entity_type', 'bundle', 'internal_id', 'description'];
}
/**
* {@inheritdoc}
*/
public function getSupportedTypes(?string $format): array {
return [
GeometryWrapper::class => TRUE,
];
}
}

View File

@ -2,7 +2,7 @@ name: farmOS Localization
description: Enables default configuration for localizing/translating farmOS.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:config_translation
- drupal:language

View File

@ -2,7 +2,7 @@ name: farmOS Location
description: Provides movement/location tracking for assets via logs.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:views
- farm:asset

View File

@ -2,7 +2,7 @@ name: farmOS Location Tests
description: 'Support module for log testing.'
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_location

View File

@ -2,7 +2,7 @@ name: farmOS Log
description: Provides additional Log entity features for farmOS.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_log_asset

View File

@ -2,7 +2,7 @@ name: farmOS Log Asset
description: Adds an asset reference field to logs.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_field

View File

@ -2,7 +2,7 @@ name: farmOS Log Quantity
description: Adds a quantity reference field to logs.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- entity_reference_revisions:entity_reference_revisions
- farm:farm_field

View File

@ -2,7 +2,7 @@ name: farmOS Log Query Tests
description: 'Support module for log query factory testing.'
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:asset
- farm:farm_log

View File

@ -2,6 +2,6 @@ name: farmOS Login
description: Allows users to login via username and email.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:user

View File

@ -2,6 +2,6 @@ name: farmOS Map
description: Provides farmOS map features.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:block

View File

@ -2,6 +2,6 @@ name: farmOS Mapbox
description: Adds Mapbox layers to farmOS maps.
type: module
package: farmOS Maps
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_map

View File

@ -2,7 +2,7 @@ name: farmOS map tests
type: module
description: Support module for farmOS map testing.
package: Testing
core_version_requirement: ^8.8 || ^9
core_version_requirement: ^10
dependencies:
- farm:farm_location
- farm:farm_map

View File

@ -2,7 +2,7 @@ name: farmOS Migrate
description: farmOS Migrate API plugins.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:migrate
- migrate_plus:migrate_plus

View File

@ -2,4 +2,4 @@ name: farmOS Notification
description: Provides farmOS notification features.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10

View File

@ -2,7 +2,7 @@ name: farmOS Owner
description: Provides an Owner field for farmOS records.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:user
- farm:farm_field

View File

@ -2,6 +2,6 @@ name: farmOS Owner Tests
description: 'Support module for owner testing.'
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_owner

View File

@ -2,7 +2,7 @@ name: farmOS Parent
description: Provides a Parent field for farmOS assets.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- asset:asset
- entity_reference_validators:entity_reference_validators

View File

@ -2,7 +2,7 @@ name: Plan
description: Provides an plan entity type for real world record keeping.
type: module
package: Plan
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:system (>=8.8.0)
- drupal:user

View File

@ -2,6 +2,6 @@ name: Plan module tests
description: Support module for plan testing.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:plan

View File

@ -2,7 +2,7 @@ name: Quantity
description: Provides an entity to store quantity measurements.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- entity:entity
- drupal:text

View File

@ -2,7 +2,7 @@ name: farmOS Quick Forms
description: Provides a framework for farmOS quick forms.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- entity:entity
- drupal:taxonomy

View File

@ -2,7 +2,7 @@ name: farmOS quick form tests
type: module
description: Support module for farmOS quick form testing.
package: Testing
core_version_requirement: ^8.8 || ^9
core_version_requirement: ^10
dependencies:
- farm:farm_quick
- farm:asset

View File

@ -2,4 +2,4 @@ name: farmOS Report
description: Features for generating and displaying reports.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10

View File

@ -2,6 +2,6 @@ name: farmOS Role
description: Provides a framework for managed roles and permissions.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:user

View File

@ -2,7 +2,7 @@ name: farmOS Account Admin Role
description: Provides an Account Admin role for managing users.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_role
- farm:farm_settings

View File

@ -2,6 +2,6 @@ name: farmOS Default Roles
description: 'Provides default roles: Manager, Worker, Viewer.'
type: module
package: farmOS Defaults
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_role

View File

@ -2,7 +2,7 @@ name: 'Farm Role module tests'
type: module
description: 'Support module for farm_role testing.'
package: Testing
core_version_requirement: ^8.8 || ^9
core_version_requirement: ^10
dependencies:
- log:log

View File

@ -2,6 +2,6 @@ name: farmOS Settings
description: Provides settings pages for core farmOS configuration options.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_setup

View File

@ -3,6 +3,7 @@
namespace Drupal\farm_settings\Form;
use Drupal\Core\Config\ConfigFactoryInterface;
use Drupal\Core\Datetime\TimeZoneFormHelper;
use Drupal\Core\Form\ConfigFormBase;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Locale\CountryManagerInterface;
@ -99,7 +100,7 @@ class FarmSettingsFarmInfoForm extends ConfigFormBase {
];
// Get list of timezones.
$timezones = system_time_zones();
$timezones = TimeZoneFormHelper::getOptionsList();
// Dropdown to select default timezone.
$form['default_timezone'] = [

View File

@ -2,7 +2,7 @@ name: farmOS Settings Test
description: 'Support module for farm settings testing.'
type: module
package: farmOS Contrib
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
# This dependency is just to test installation of core module dependencies.
- farm:farm_maintenance

View File

@ -2,4 +2,4 @@ name: farmOS Setup
description: Provides setup pages for farmOS.
type: module
package: farmOS
core_version_requirement: ^9
core_version_requirement: ^10

View File

@ -2,4 +2,4 @@ name: farmOS Test
description: Provides common automated testing code for farmOS.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10

View File

@ -2,6 +2,6 @@ name: farmOS UI Action
description: Provides default action links for farmOS entities.
type: module
package: farmOS UI
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_log

View File

@ -2,6 +2,6 @@ name: farmOS UI Breadcrumb
description: Provides default breadcrumbs in farmOS.
type: module
package: farmOS UI
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_ui_views

View File

@ -2,7 +2,7 @@ name: farmOS Dashboard
description: Provides a farmOS dashboard.
type: module
package: farmOS UI
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- drupal:block
- drupal:layout_discovery

View File

@ -2,6 +2,6 @@ name: Farm UI Dashboard module tests
description: Support module for dashboard.
type: module
package: Testing
core_version_requirement: ^9
core_version_requirement: ^10
dependencies:
- farm:farm_ui_dashboard

Some files were not shown because too many files have changed in this diff Show More