问:
How do I load only 10 rows at a time from http post response, let the rest load in the background in Typescript
Http Post Request

I simply want the table on the front end of my website to display the first 10 rows from my datasource, the rest to be loaded in the background (it's a huge dataset 100000+ rows) and to be able to access the rest of the dataset as and when required. Even possible?

```<code> this.http.post(environment.BASE_URL + searchPage, body, { 'headers': headers }).subscribe((selectedUser: any) => {

    // the line below gets me the first 10 rows but I also want the next 10 to be
    // available to me should I select this in the front end. Effectively a lazy load.

    this.userlogins = selectedUser.slice(0, 10);

    // End

    this.dataSource = new MatTableDataSource(this.userlogins);

    this.isLoadingResults = false;
    setTimeout(() => {
      this.dataSource.paginator = this.paginator;
    })
    if (new MatTableDataSource(this.userlogins).filteredData.length < 1) {
      this.searchData = false;
    }
    console.log(new MatTableDataSource(this.userlogins));
  }, (error: any) => {
    console.error(error);
  })
</code>```

Body:
Http Post Request

I simply want the table on the front end of my website to display the first 10 rows from my datasource, the rest to be loaded in the background (it's a huge dataset 100000+ rows) and to be able to access the rest of the dataset as and when required. Even possible?

 this.http.post(environment.BASE_URL + searchPage, body, { 'headers': headers }).subscribe((selectedUser: any) => {

    // the line below gets me the first 10 rows but I also want the next 10 to be
    // available to me should I select this in the front end. Effectively a lazy load.

    this.userlogins = selectedUser.slice(0, 10);

    // End

    this.dataSource = new MatTableDataSource(this.userlogins);

    this.isLoadingResults = false;
    setTimeout(() => {
      this.dataSource.paginator = this.paginator;
    })
    if (new MatTableDataSource(this.userlogins).filteredData.length < 1) {
      this.searchData = false;
    }
    console.log(new MatTableDataSource(this.userlogins));
  }, (error: any) => {
    console.error(error);
  })


来源: stackexchange

问:
How to remove grid from Plotly 3D plot?
I am using plotly in Python to plot a sphere. And I would like to know if it's possible to remove the grid and axes, everything but the sphere basically.
Additionnally, I would also like to have my three axes as just three arrows originating from the center of my sphere.

If it's not doable in Plotly, do you know of any alternative? Again, I am coding in Python.

Many thanks in advance

Antoine

```<code>    trace = [
            go.Surface(
                name='Map',
                x=tuple(x),
                y=tuple(y),
                z=tuple(z),
                colorscale='Viridis',
                surfacecolor=c_norm,
                hoverinfo='text',
                opacity=1
                ),
            go.Scatter3d(
                    name='Z1 source',
                    x=[z1_sources_coord[0,0]],
                    y=[z1_sources_coord[0,1]],
                    z=[z1_sources_coord[0,2]],
                    mode='markers',
                    marker=dict(size=3, color='red'),
                    opacity=1
                ),
            go.Scatter3d(
                    name='Z2 source',
                    x=z2_sources_coord[:,0],
                    y=z2_sources_coord[:,1],
                    z=z2_sources_coord[:,2],
                    mode='markers',
                    marker=dict(size=6, color='blue'),
                    opacity=1
                )
    ]

    fig=go.Figure(data=trace)
    fig.show()
</code>```

ContentLicense: CC BY-SA 4.0

Title: How to remove grid from Plotly 3D plot?

Body:
I am using plotly in Python to plot a sphere. And I would like to know if it's possible to remove the grid and axes, everything but the sphere basically.
Additionnally, I would also like to have my three axes as just three arrows originating from the center of my sphere.

If it's not doable in Plotly, do you know of any alternative? Again, I am coding in Python.

Many thanks in advance

Antoine

    trace = [
            go.Surface(
                name='Map',
                x=tuple(x),
                y=tuple(y),
                z=tuple(z),
                colorscale='Viridis',
                surfacecolor=c_norm,
                hoverinfo='text',
                opacity=1
                ),
            go.Scatter3d(
                    name='Z1 source',
                    x=[z1_sources_coord[0,0]],
                    y=[z1_sources_coord[0,1]],
                    z=[z1_sources_coord[0,2]],
                    mode='markers',
                    marker=dict(size=3, color='red'),
                    opacity=1
                ),
            go.Scatter3d(
                    name='Z2 source',
                    x=z2_sources_coord[:,0],
                    y=z2_sources_coord[:,1],
                    z=z2_sources_coord[:,2],
                    mode='markers',
                    marker=dict(size=6, color='blue'),
                    opacity=1
                )
    ]

    fig=go.Figure(data=trace)
    fig.show()


问:
What is the max number of users you can have access a music file stored on a localhost?
I am creating an android application that will access media files (.mp3) stored on a local host using a URL. Since the app is intended to be used by multiple people simultaneously (100+ people accessing the files at the same time) accessing the same media file. How do I make sure that this functionality works? Since currently while testing I am the only person accessing the file which is not creating any issues. I need to make sure it works fine with multiple users.

The Android application I am building is intended to work only when connected to a particular wifi network (which will be provided by the client). So what I tried was to create an FTP server using XAMPP and store the music file in the intended folder which now can be accessed using a URL. Now, since I am the only one accessing this file on my application, I haven't run into any issues, but my concern is when multiple people access this file with the same URL from a single localhost, will it cause any issues?


问:
Why are DEBUG and TRACE messages printed when only INFO messages should be printed?
I have a very simple setup here. I want only the INFO messages to appear in the console. DEBUG and TRACE should only appear in the file. Why do I still have all messages in the console?
This is the Output

Log4j2xmlFile:

```<code><?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Properties>
    <Property name="basePath">target/logs</Property>
</Properties>
<Appenders>
    <RollingFile name="RollingFile" fileName="${basePath}/${date:yyyy-MM-dd}/all.trace.log" filePattern="${basePath}/$${date:yyyy-MM-dd}/all.trace-%d{yyyy-MM-dd}-%i.log" ignoreExceptions="false">
        <PatternLayout pattern="%highlight{%d{ISO8601} [%t] %-5level: %msg%n%throwable}{FATAL=Magenta, ERROR=Bright red, WARN=Yellow, INFO=Blue, DEBUG=Cyan, TRACE=Green}"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="10MB"/>
        </Policies>
        <DefaultRolloverStrategy max="20"/>
    </RollingFile>
    <Console name="Console" target="SYSTEM_OUT" ignoreExceptions="false">
        <PatternLayout pattern="%highlight{%d{ISO8601} [%t] %-5level: %msg%n%throwable}{FATAL=Magenta, ERROR=Bright red, WARN=Yellow, INFO=Blue, DEBUG=Cyan, TRACE=Green}" disableAnsi="false"/>
    </Console>
</Appenders>

<Loggers>
    <Logger name="org.example"  level="ALL" additivity="true">
        <AppenderRef ref="RollingFile"  level="ALL" />
    </Logger>
    <Root level="INFO">
        <AppenderRef ref="Console"/>
    </Root>
</Loggers>
</Configuration>
</code>```

My Class

```<code>package org.example;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Main {

private static final Logger logger = LogManager.getLogger(Main.class);

 public static void main(String[] args) {
     logger.debug("Hello debug");
     logger.info("Hello info");
     logger.trace("Hello trace");
 }
}
</code>```

Output Console

```<code>2023-01-11T17:37:46,731 [main] DEBUG: Hello debug
2023-01-11T17:37:46,736 [main] INFO : Hello info
2023-01-11T17:37:46,736 [main] TRACE: Hello trace
</code>```

Output File

```<code>2023-01-11T17:37:46,731 [main] DEBUG: Hello debug
2023-01-11T17:37:46,736 [main] INFO : Hello info
2023-01-11T17:37:46,736 [main] TRACE: Hello trace
</code>```

Body:
I have a very simple setup here. I want only the INFO messages to appear in the console. DEBUG and TRACE should only appear in the file. Why do I still have all messages in the console?
This is the Output

Log4j2xmlFile:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Properties>
    <Property name="basePath">target/logs</Property>
</Properties>
<Appenders>
    <RollingFile name="RollingFile" fileName="${basePath}/${date:yyyy-MM-dd}/all.trace.log" filePattern="${basePath}/$${date:yyyy-MM-dd}/all.trace-%d{yyyy-MM-dd}-%i.log" ignoreExceptions="false">
        <PatternLayout pattern="%highlight{%d{ISO8601} [%t] %-5level: %msg%n%throwable}{FATAL=Magenta, ERROR=Bright red, WARN=Yellow, INFO=Blue, DEBUG=Cyan, TRACE=Green}"/>
        <Policies>
            <SizeBasedTriggeringPolicy size="10MB"/>
        </Policies>
        <DefaultRolloverStrategy max="20"/>
    </RollingFile>
    <Console name="Console" target="SYSTEM_OUT" ignoreExceptions="false">
        <PatternLayout pattern="%highlight{%d{ISO8601} [%t] %-5level: %msg%n%throwable}{FATAL=Magenta, ERROR=Bright red, WARN=Yellow, INFO=Blue, DEBUG=Cyan, TRACE=Green}" disableAnsi="false"/>
    </Console>
</Appenders>

<Loggers>
    <Logger name="org.example"  level="ALL" additivity="true">
        <AppenderRef ref="RollingFile"  level="ALL" />
    </Logger>
    <Root level="INFO">
        <AppenderRef ref="Console"/>
    </Root>
</Loggers>
</Configuration>

My Class

package org.example;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Main {

private static final Logger logger = LogManager.getLogger(Main.class);

 public static void main(String[] args) {
     logger.debug("Hello debug");
     logger.info("Hello info");
     logger.trace("Hello trace");
 }
}

Output Console

2023-01-11T17:37:46,731 [main] DEBUG: Hello debug
2023-01-11T17:37:46,736 [main] INFO : Hello info
2023-01-11T17:37:46,736 [main] TRACE: Hello trace

Output File

2023-01-11T17:37:46,731 [main] DEBUG: Hello debug
2023-01-11T17:37:46,736 [main] INFO : Hello info
2023-01-11T17:37:46,736 [main] TRACE: Hello trace


问:
How do I get the name of the project/assembly that called a class library from within the class library when a method logs an exception?
I'm not sure if this is possible, but I figured I'd ask before having to make dozens of changes to my code. Note that the class library is part of a nuget package and the project for it IS NOT included in ASP.NET Core Web project that calls it.

We use custom nuget packages fairly extensively to break up common pieces of code needed by various ASP.NET Core 6 web projects. One queries the database for Employee Information. One has utility classes that do "things". Every method in these nuget packages perform their own exception handling which logs exceptions and associated details to the database.

The issue is that the log might look like this:

```<code>Location: Namespace.Employee -> EmpClass.cs --> methodName(parameter)
</code>```

Well we now have several projects that use these nuget packages, but from the error logged, it's not possible to know what project had the error. We just know the nuget package, which means any of the live projects could have errored.

The design of these helper classes has them as static classes, which means, I'd have to modify all of their methods to include a parameter calling code can use to pass in the project name. At best, this would duplicate dozens of methods. At worst, it'd break many projects (if I just modified existing methods). We are, of course, versioning our packages so we wouldn't have to fix this in anything until a project needs to update to the latest version.

I've tried including something like this along with the error message within the nuget package, but it just points to the nuget package dll as the calling assembly...which it is, I suppose.

```<code>            string callingAssembly = "Calling Assembly Not Available";
            if( Assembly.GetCallingAssembly() != null )
            {
                callingAssembly = Assembly.GetCallingAssembly().ToString();
            }
</code>```

Does anyone know if this is possible? I'm not thinking it is with our current setup.

Given this setup, what would you recommend as a better way to refactor (in abstract terms) things to allow making a change such as this easier in the future?

ADDED CODE EXAMPLE

```<code>//User info is a class library from a nuget package. The dll name is Intranet.Users.
UserInfo crashTest = UserInfo.GetUser(555);

Inside of Intranet.Users is User.cs with the method

public static UserInfo GetUser(int UserId)
{

            try
            {
                //Code the queries the database for a user with UserId = 555

            }
            catch (Exception ex)
            {
                string callingAssembly = "Calling Assembly Not Available";
                if( Assembly.GetCallingAssembly() != null )
                {
                    callingAssembly = Assembly.GetCallingAssembly().ToString();
                }

                //The 'Logging' class is actually from the Intranet.Utilities nuget package class library used by this
                //library. It logs the error information to the database.
                Logging.LogError(ex, "Intranet.Users > Users.cs > GetUser(UserId)", "UserId = " + UserId.ToString() +  $" in {callingAssembly}" );
            }

}
</code>```

The value of callingAssembly is "Intranet.Users, Version=x.x.x.x, Culture=neutral, PublicKeyToken=null".

Body:
I'm not sure if this is possible, but I figured I'd ask before having to make dozens of changes to my code. Note that the class library is part of a nuget package and the project for it IS NOT included in ASP.NET Core Web project that calls it.

We use custom nuget packages fairly extensively to break up common pieces of code needed by various ASP.NET Core 6 web projects. One queries the database for Employee Information. One has utility classes that do "things". Every method in these nuget packages perform their own exception handling which logs exceptions and associated details to the database.

The issue is that the log might look like this:

Location: Namespace.Employee -> EmpClass.cs --> methodName(parameter)

Well we now have several projects that use these nuget packages, but from the error logged, it's not possible to know what project had the error. We just know the nuget package, which means any of the live projects could have errored.

The design of these helper classes has them as static classes, which means, I'd have to modify all of their methods to include a parameter calling code can use to pass in the project name. At best, this would duplicate dozens of methods. At worst, it'd break many projects (if I just modified existing methods). We are, of course, versioning our packages so we wouldn't have to fix this in anything until a project needs to update to the latest version.

I've tried including something like this along with the error message within the nuget package, but it just points to the nuget package dll as the calling assembly...which it is, I suppose.

            string callingAssembly = "Calling Assembly Not Available";
            if( Assembly.GetCallingAssembly() != null )
            {
                callingAssembly = Assembly.GetCallingAssembly().ToString();
            }

Does anyone know if this is possible? I'm not thinking it is with our current setup.

Given this setup, what would you recommend as a better way to refactor (in abstract terms) things to allow making a change such as this easier in the future?

ADDED CODE EXAMPLE

//User info is a class library from a nuget package. The dll name is Intranet.Users.
UserInfo crashTest = UserInfo.GetUser(555);

Inside of Intranet.Users is User.cs with the method

public static UserInfo GetUser(int UserId)
{

            try
            {
                //Code the queries the database for a user with UserId = 555

            }
            catch (Exception ex)
            {
                string callingAssembly = "Calling Assembly Not Available";
                if( Assembly.GetCallingAssembly() != null )
                {
                    callingAssembly = Assembly.GetCallingAssembly().ToString();
                }

                //The 'Logging' class is actually from the Intranet.Utilities nuget package class library used by this
                //library. It logs the error information to the database.
                Logging.LogError(ex, "Intranet.Users > Users.cs > GetUser(UserId)", "UserId = " + UserId.ToString() +  $" in {callingAssembly}" );
            }

}

The value of callingAssembly is "Intranet.Users, Version=x.x.x.x, Culture=neutral, PublicKeyToken=null".


问:
Fatal Python error: Segmentation fault, restarting kernel
I am using a macbook pro with the M1 chip.

I have encounter such problem when using  version for

```<code>Spyder 5.3.3.
python is 3.9.13,
torch version is 1.13.1.
The environment I am using is setted up by Anaconda 2.3.1.
</code>```

I have discovered the following 4 line script alone can trigger ths problem

```<code>import torch

mu0 = torch.tensor([0, 0])

sigma0 = torch.tensor([[1, 0.], [0., 1. ]])

PDF=torch.distributions.multivariate_normal.MultivariateNormal(mu0,sigma0)
</code>```

To be exact, it is the last line that triggered this error. If I run the whole script, the kernel will restart without telling me why. While if I run it line by line, when I run the last line, this message will appear.

```<code>Fatal Python error: Segmentation fault

Thread 0x0000000313346000 (most recent call first):
  File Fatal Python error:

Restarting kernel...
</code>```

I have read other similar questions, but each of them seems to be code specific.

Also, I have tried the fix in this link but it does not solve my problem

https://github.com/spyder-ide/spyder/issues/16659#issuecomment-961306197

Body:
I am using a macbook pro with the M1 chip.

I have encounter such problem when using  version for

Spyder 5.3.3.
python is 3.9.13,
torch version is 1.13.1.
The environment I am using is setted up by Anaconda 2.3.1.

I have discovered the following 4 line script alone can trigger ths problem

import torch

mu0 = torch.tensor([0, 0])

sigma0 = torch.tensor([[1, 0.], [0., 1. ]])

PDF=torch.distributions.multivariate_normal.MultivariateNormal(mu0,sigma0)

To be exact, it is the last line that triggered this error. If I run the whole script, the kernel will restart without telling me why. While if I run it line by line, when I run the last line, this message will appear.

Fatal Python error: Segmentation fault

Thread 0x0000000313346000 (most recent call first):
  File Fatal Python error:

Restarting kernel...

I have read other similar questions, but each of them seems to be code specific.

Also, I have tried the fix in this link but it does not solve my problem

https://github.com/spyder-ide/spyder/issues/16659#issuecomment-961306197


问:
read a pdf-file into R without header/contents
I want to import multiple pdf-files into R but per page there are 4 columns, a header/footer line and a table of contents.

For purpose of text mining I want to remove them from my file or character vector.

Right now I am using two functions to read in the files. The first one is pdf_text because it keeps the pages but can't deal with the 4 columns. The second one is extract_text, this one on its own doesn't keep the pages but can deal with the column structure (and is decently with occuring tables) .

But neither one of them is able to remove the table of contents (as far as I have tried).

My data set is  not exactly minimal but otherwise I had some problems with the data structures. Here a working code:

```<code>    ################ relevant code ##############
library(pdftools)
library(tidyverse)
library(tabulizer)
files_name <- "Nachhaltigkeit 2021.pdf"
file_url <- c("https://www.allianz.com/content/dam/onemarketing/azcom/Allianz_com/sustainability/documents/Allianz_Group_Sustainability_Report_2021-web.pdf", "https://www.allianz.com/content/dam/onemarketing/azcom/Allianz_com/investor-relations/en/results-reports/annual-report/ar-2021/en-Allianz-Group-Annual-Report-2021.pdf")

reports_list <- lapply(file_url, pdf_text)

createTibble <- function(){
  tibble_together <- NULL
  #for all files
  for(i in 1:length(files_name)){

    page_nr <- length(reports_list[[i]])

    tib <- tibble(report = rep(files_name[i], page_nr), page = 1:page_nr, text = gsub("\r\n", " ",
                  extract_text(files_name[[i]], pages = 1:page_nr)))
    tibble_together <- rbind(tibble_together, tib)
  }
  return(tibble_together)
}

reports_df <- createTibble()

############ code for problem visualization ###############
reports_df <- reports_df %>% unnest_tokens(output = word, input = text, token = "words")
#e.g this part contains the table of contents which is not intended
(reports_df %>% filter(page == 34, report == "Nachhaltigkeit 2021.pdf"))$word[832:885]
</code>```

Thanks for your help in advance

PS: it's my first question so if you need sth. let me know.
And I know that the function createTibble probably isn't optimal. But that's not my primary concern.

Body:
I want to import multiple pdf-files into R but per page there are 4 columns, a header/footer line and a table of contents.

For purpose of text mining I want to remove them from my file or character vector.

Right now I am using two functions to read in the files. The first one is pdf_text because it keeps the pages but can't deal with the 4 columns. The second one is extract_text, this one on its own doesn't keep the pages but can deal with the column structure (and is decently with occuring tables) .

But neither one of them is able to remove the table of contents (as far as I have tried).

My data set is  not exactly minimal but otherwise I had some problems with the data structures. Here a working code:

    ################ relevant code ##############
library(pdftools)
library(tidyverse)
library(tabulizer)
files_name <- "Nachhaltigkeit 2021.pdf"
file_url <- c("https://www.allianz.com/content/dam/onemarketing/azcom/Allianz_com/sustainability/documents/Allianz_Group_Sustainability_Report_2021-web.pdf", "https://www.allianz.com/content/dam/onemarketing/azcom/Allianz_com/investor-relations/en/results-reports/annual-report/ar-2021/en-Allianz-Group-Annual-Report-2021.pdf")

reports_list <- lapply(file_url, pdf_text)

createTibble <- function(){
  tibble_together <- NULL
  #for all files
  for(i in 1:length(files_name)){

    page_nr <- length(reports_list[[i]])

    tib <- tibble(report = rep(files_name[i], page_nr), page = 1:page_nr, text = gsub("\r\n", " ",
                  extract_text(files_name[[i]], pages = 1:page_nr)))
    tibble_together <- rbind(tibble_together, tib)
  }
  return(tibble_together)
}

reports_df <- createTibble()

############ code for problem visualization ###############
reports_df <- reports_df %>% unnest_tokens(output = word, input = text, token = "words")
#e.g this part contains the table of contents which is not intended
(reports_df %>% filter(page == 34, report == "Nachhaltigkeit 2021.pdf"))$word[832:885]

Thanks for your help in advance

PS: it's my first question so if you need sth. let me know.
And I know that the function createTibble probably isn't optimal. But that's not my primary concern.


问:
Flutter Audio Player Problemutt
I have just started flutter app developing. I am just trying to add audio from local source and test in on a real device.

I have tried assets_audio_player and audioplayers packages but couldn't test it on my real android device through usb cable.

Is it possible to test like this way? If yes, then how?

Title: Flutter Audio Player Problemutt


问:
How to replace Database name in SQL file in Gitlab Pipeline?
I am deploying database through gitlab. I have a case where database name should be passed as variable and replaced in the sql file but it's not working.

e.g,

the script has {{ db_name}}.schema.table

I have set db_name as variable in gitlab-ci.yml but this variable doesn't get picked up and pipeline fails.

variables:
db_name: xxxx

Is there a way to set database name as variable which will replace the dataabse name and runs the pipeline


问:
Firebase fetch data in one computer but did not fetch data in another computer
I developed a desktop application with the help of JavaFX. after converting it into a jar file this jar file opens perfectly but data is not fetching from firebase's real-time database. Still, the same jar file is working correctly on different computers.
please help me...

I searched many websites but nothing was found, I know that there is no problem with the code the problem is in the computer or system because many computers are working correctly but some computers are not fetching data.


问:
R: Heatmap Legends With Zeros
I am working with the R programming language.

I am following this tutorial here (https://cengel.github.io/R-spatial/mapping.html) and trying to make a "heatmap" like this:

Here is the code I am using:

```<code># input shapefile = sf
st_trans = st_transform(sf, 4326)

breaks_qt <- classIntervals(sf$my_variable, n=7, style = "quantile")
pal_fun <- colorQuantile("YlOrRd", NULL, n=7)

m = leaflet(st_trans) %>%
    addPolygons(
        stroke = FALSE,
        fillColor = ~pal_fun(my_variable),
        fillOpacity = 0.8, smoothFactor = 0.5,
        popup = label_text) %>%
    addTiles(group = "OSM") %>%
    addProviderTiles("CartoDB.DarkMatter",group = "Carto") %>%
    addLegend("bottomright",
              colors = brewer.pal(7, "YlOrRd"),
              labels = paste0("up to ", format(breaks_qt$brks[-1], digits = 2)),
              title = 'Legend Title') %>%
    addLayersControl(baseGroups = c("OSM", "Carto"),
    overlayGroups = c("groups"))
</code>```

In the past, this above code has worked well - however, this time, "my_variable" (e.g. number of Spelling Bee champions in each polygon) has many zeros which I think is causing problems in the  labels = paste0("up to ", format(breaks_qt$brks[-1], digits = 2)) and classIntervals(sf$my_variable, n=7, style = "quantile") lines (e.g. Error: 'breaks' are not unique')

I tried looking at previous posts (e.g. Cut() error - 'breaks' are not unique) and was able to use one of the answers here to resolve the first problem, e.g.

```<code>a_ranks <- rank(st_trans$my_variable, ties.method = "first")
st_trans$my_variable <- cut(a_ranks, quantile(a_ranks, probs=c(0, 0.15, 0.30, 0.45, 0.60, 0.75, 0.90)), include.lowest=TRUE, labels=FALSE)

m = leaflet(st_trans) %>%
    addPolygons(
        stroke = FALSE,
        fillColor = ~pal_fun(my_variable),
        fillOpacity = 0.8, smoothFactor = 0.5,
        popup = label_text) %>%
    addTiles(group = "OSM") %>%
    addProviderTiles("CartoDB.DarkMatter",group = "Carto") %>%
    addLegend("bottomright",
              colors = brewer.pal(7, "YlOrRd"),
              labels = paste0("up to ", format(st_trans$my_variable, digits = 2)),
              title = 'Legend Title') %>%
    addLayersControl(baseGroups = c("OSM", "Carto"),
    overlayGroups = c("groups"))
</code>```

But I still get an error: Error in addLegend(),: 'colors' and 'labels' must be of the same length

In general, are there any methods I can use to avoid these problems?

Thanks!

Note: I can get the map to work without the legend

```<code>leaflet(st_trans) %>%
        addPolygons(
            stroke = FALSE,
            fillColor = ~pal_fun(my_variable),
            fillOpacity = 0.8, smoothFactor = 0.5,
            popup = label_text) %>%
        addTiles(group = "OSM") %>%
        addProviderTiles("CartoDB.DarkMatter",group = "Carto")
</code>```

Title: R: Heatmap Legends With Zeros

Body:
I am working with the R programming language.

I am following this tutorial here (https://cengel.github.io/R-spatial/mapping.html) and trying to make a "heatmap" like this:

Here is the code I am using:

# input shapefile = sf
st_trans = st_transform(sf, 4326)

breaks_qt <- classIntervals(sf$my_variable, n=7, style = "quantile")
pal_fun <- colorQuantile("YlOrRd", NULL, n=7)

m = leaflet(st_trans) %>%
    addPolygons(
        stroke = FALSE,
        fillColor = ~pal_fun(my_variable),
        fillOpacity = 0.8, smoothFactor = 0.5,
        popup = label_text) %>%
    addTiles(group = "OSM") %>%
    addProviderTiles("CartoDB.DarkMatter",group = "Carto") %>%
    addLegend("bottomright",
              colors = brewer.pal(7, "YlOrRd"),
              labels = paste0("up to ", format(breaks_qt$brks[-1], digits = 2)),
              title = 'Legend Title') %>%
    addLayersControl(baseGroups = c("OSM", "Carto"),
    overlayGroups = c("groups"))

In the past, this above code has worked well - however, this time, "my_variable" (e.g. number of Spelling Bee champions in each polygon) has many zeros which I think is causing problems in the  labels = paste0("up to ", format(breaks_qt$brks[-1], digits = 2)) and classIntervals(sf$my_variable, n=7, style = "quantile") lines (e.g. Error: 'breaks' are not unique')

I tried looking at previous posts (e.g. Cut() error - 'breaks' are not unique) and was able to use one of the answers here to resolve the first problem, e.g.

a_ranks <- rank(st_trans$my_variable, ties.method = "first")
st_trans$my_variable <- cut(a_ranks, quantile(a_ranks, probs=c(0, 0.15, 0.30, 0.45, 0.60, 0.75, 0.90)), include.lowest=TRUE, labels=FALSE)

m = leaflet(st_trans) %>%
    addPolygons(
        stroke = FALSE,
        fillColor = ~pal_fun(my_variable),
        fillOpacity = 0.8, smoothFactor = 0.5,
        popup = label_text) %>%
    addTiles(group = "OSM") %>%
    addProviderTiles("CartoDB.DarkMatter",group = "Carto") %>%
    addLegend("bottomright",
              colors = brewer.pal(7, "YlOrRd"),
              labels = paste0("up to ", format(st_trans$my_variable, digits = 2)),
              title = 'Legend Title') %>%
    addLayersControl(baseGroups = c("OSM", "Carto"),
    overlayGroups = c("groups"))

But I still get an error: Error in addLegend(),: 'colors' and 'labels' must be of the same length

In general, are there any methods I can use to avoid these problems?

Thanks!

Note: I can get the map to work without the legend

leaflet(st_trans) %>%
        addPolygons(
            stroke = FALSE,
            fillColor = ~pal_fun(my_variable),
            fillOpacity = 0.8, smoothFactor = 0.5,
            popup = label_text) %>%
        addTiles(group = "OSM") %>%
        addProviderTiles("CartoDB.DarkMatter",group = "Carto")


问:
Using flutter to control a squid proxy
I am currently working on my first solo project with Flutter and I'd like to try and make an application that allows parents mostly, control what kind of things that their childrens devices can look at via online. So essentially, I want to write a flutter application that can control the internet traffic of a proxy server.

I've been doing some research on the topic and not a lot has come back to me, making it seem like it's impossible to do so.

Any resources on the matter/pointers in the right direction of how to achieve this would be greatly appreciated :)

I've tried researching about the topic but nothing concrete has come back, doens't seem like it's possible at all to do this using flutter.

Title: Using flutter to control a squid proxy


问:
What to save as Biometric Secret in ionic's FingerprintAIO API
I have an ionic-angular app that uses FingerprintAIO API for biometric authentication as follows:

```<code>constructor(private faio: FingerprintAIO) {}

// ...

// Saving a secret
this.faio.registerBiometricSecret({
    secret: "my-super-secret", // <--- What should I use as the biometric secret?
})
    .then((result: any) => console.log('biometric secret is saved', result))
    .catch((error: any) => console.log(error));

// Retrieving a secret
this.faio.loadBiometricSecret()
    .then((secret: string) => console.log('biometric secret is loaded. Secret:', secret))
    .catch((error: any) => console.log(error));
</code>```

My question: What should I save and retrieve as a biometric secret?

Body:
I have an ionic-angular app that uses FingerprintAIO API for biometric authentication as follows:

constructor(private faio: FingerprintAIO) {}

// ...

// Saving a secret
this.faio.registerBiometricSecret({
    secret: "my-super-secret", // <--- What should I use as the biometric secret?
})
    .then((result: any) => console.log('biometric secret is saved', result))
    .catch((error: any) => console.log(error));

// Retrieving a secret
this.faio.loadBiometricSecret()
    .then((secret: string) => console.log('biometric secret is loaded. Secret:', secret))
    .catch((error: any) => console.log(error));

My question: What should I save and retrieve as a biometric secret?


问:
Using Spark UDF externally in Tableau
I am trying to write a Spark UDF and use in Tableau. Tableau is using a Databricks connection.

```<code>%python
import time

@udf
def delay_seconds(x):
    time.sleep(x)
    return x

spark.udf.register("delayUDF", delay_seconds)
</code>```

I want to run this query in Tableau using Custom SQL

select delayUDF(10)

The function is undefined and does not exist on the default database. How do I scope the UDF so it is registered against the database, or modify my select query to correctly locate it?

Title: Using Spark UDF externally in Tableau

Body:
I am trying to write a Spark UDF and use in Tableau. Tableau is using a Databricks connection.

%python
import time

@udf
def delay_seconds(x):
    time.sleep(x)
    return x

spark.udf.register("delayUDF", delay_seconds)

I want to run this query in Tableau using Custom SQL

select delayUDF(10)

The function is undefined and does not exist on the default database. How do I scope the UDF so it is registered against the database, or modify my select query to correctly locate it?


问:
How to control the comment bars // in VS Code
I´m used to Eclipse, where when you press Ctrl+Shift+C it add two bars to the most left side of the file but keep your indentation (I´m using the Eclipse Keymaps extension for using Eclipse shortcuts), for example:

//Comment here
fn main() {

//    Comment here
println!("Hello Stackoverflow!");

//        Imagine more indentation here

}

On VS Code comments are handled like this:
//Comment here
fn main() {

```<code>  //Comment here
  println!("Hello Stackoverflow!");

      //Imagine more indentation here
</code>```

}

I don´t like it and it´s a deal breaker for me, I love the editor otherwise.
Is there a way to change this?

I tried a couple of extension for customizing comments and playing around with the settings, but nothing worked for me.

Thank you in advance

Body:
I´m used to Eclipse, where when you press Ctrl+Shift+C it add two bars to the most left side of the file but keep your indentation (I´m using the Eclipse Keymaps extension for using Eclipse shortcuts), for example:

//Comment here
fn main() {

//    Comment here
println!("Hello Stackoverflow!");

//        Imagine more indentation here

}

On VS Code comments are handled like this:
//Comment here
fn main() {

  //Comment here
  println!("Hello Stackoverflow!");

      //Imagine more indentation here

}

I don´t like it and it´s a deal breaker for me, I love the editor otherwise.
Is there a way to change this?

I tried a couple of extension for customizing comments and playing around with the settings, but nothing worked for me.

Thank you in advance


问:
Can't build the android app. com.android.build.gradle.internal.res.Aapt2CompileRunnable
I can't build the android project on the gitlab CI pipeline after upgrade.
I'm using:

```<code>- gradle: 7.6
- android-gradle-plugin: 7.3.1
</code>```

and I've updated the docker image to use the same versions as the project use

```<code>ANDROID_COMPILE_SDK: "33"

ANDROID_BUILD_TOOLS: "33.0.1"

ANDROID_SDK_TOOLS: "9123335"
</code>```

And here is the error I'm receiving:

```FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDevDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable
   > AAPT2 aapt2-7.3.1-8691043-linux Daemon #0: Daemon startup failed
     This should not happen under normal circumstances, please file an issue if it does.
* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeDevDebugResources'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:140)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable
    at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:348)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.lambda$waitForItemsAndGatherFailures$2(DefaultAsyncWorkTracker.java:130)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:321)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:304)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLock(DefaultWorkerLeaseService.java:309)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:126)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:92)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForAll(DefaultAsyncWorkTracker.java:78)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForCompletion(DefaultAsyncWorkTracker.java:66)
    at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:244)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:221)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:204)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:187)
    at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
    at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
    at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
    at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
    at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
    at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
    at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:124)
    at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:80)
    at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
    at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:181)
    at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:71)
    at org.gradle.internal.Either$Right.fold(Either.java:175)
    at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:69)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
    at java.base/java.util.Optional.orElseGet(Optional.java:369)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:102)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:91)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
    at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
    at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
    at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
    at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
    at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
    at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
    at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
    at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
    at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-7.3.1-869[1043](https://gitlab.name.ca/mobile/android/app/app-android/-/jobs/16046990#L1043)-linux Daemon #0: Daemon startup failed
This should not happen under normal circumstances, please file an issue if it does.
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.handleError(Aapt2Daemon.kt:193)
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.handleError$default(Aapt2Daemon.kt:190)
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.checkStarted(Aapt2Daemon.kt:77)
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.compile(Aapt2Daemon.kt:100)
    at com.android.builder.internal.aapt.v2.Aapt2DaemonManager$LeasedAaptDaemon.compile(Aapt2DaemonManager.kt:170)
    at com.android.builder.internal.aapt.v2.Aapt2DaemonManager$leasingAapt2Daemon$1.compile(Aapt2DaemonManager.kt:195)
    at com.android.build.gradle.internal.services.PartialInProcessResourceProcessor.compile(PartialInProcessResourceProcessor.kt:47)
    at com.android.build.gradle.internal.res.Aapt2CompileRunnableKt.runAapt2Compile(Aapt2CompileRunnable.kt:57)
    at com.android.build.gradle.internal.res.Aapt2CompileRunnable.run(Aapt2CompileRunnable.kt:32)
    at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
    at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
    at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
    at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
    at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:212)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:249)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:109)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:114)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:157)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:126)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    ... 5 more
Caused by: com.android.builder.internal.aapt.v2.Aapt2InternalException: Failed to start AAPT2 process.
    at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.stopQuietly(Aapt2DaemonImpl.kt:128)
    at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.startProcess(Aapt2DaemonImpl.kt:115)
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings
Execution optimizations have been disabled for 9 invalid unit(s) of work during this build to ensure correctness.
Please consult deprecation warnings for more details.
52 actionable tasks: 52 executed
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.checkStarted(Aapt2Daemon.kt:56)
    ... 42 more
Caused by: java.io.IOException: Process unexpectedly exit.
    at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.startProcess(Aapt2DaemonImpl.kt:116)
    ... 43 more
```

I tried to clear the server cache, restart it but unfortunately nothing worked with it.

with reference it's working fine on our locale machines very well.

Body:
I can't build the android project on the gitlab CI pipeline after upgrade.
I'm using:

- gradle: 7.6
- android-gradle-plugin: 7.3.1

and I've updated the docker image to use the same versions as the project use

ANDROID_COMPILE_SDK: "33"

ANDROID_BUILD_TOOLS: "33.0.1"

ANDROID_SDK_TOOLS: "9123335"

And here is the error I'm receiving:

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:mergeDevDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable
   > AAPT2 aapt2-7.3.1-8691043-linux Daemon #0: Daemon startup failed
     This should not happen under normal circumstances, please file an issue if it does.
* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:mergeDevDebugResources'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:142)
    at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:282)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:140)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.gradle.workers.internal.DefaultWorkerExecutor$WorkExecutionException: A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable
    at org.gradle.workers.internal.DefaultWorkerExecutor$WorkItemExecution.waitForCompletion(DefaultWorkerExecutor.java:348)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.lambda$waitForItemsAndGatherFailures$2(DefaultAsyncWorkTracker.java:130)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:321)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:304)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLock(DefaultWorkerLeaseService.java:309)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:126)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForItemsAndGatherFailures(DefaultAsyncWorkTracker.java:92)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForAll(DefaultAsyncWorkTracker.java:78)
    at org.gradle.internal.work.DefaultAsyncWorkTracker.waitForCompletion(DefaultAsyncWorkTracker.java:66)
    at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:244)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:221)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:204)
    at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:187)
    at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
    at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:89)
    at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:40)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:53)
    at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:50)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:50)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:40)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:68)
    at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:38)
    at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
    at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
    at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:29)
    at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.executeDelegateBroadcastingChanges(CaptureStateAfterExecutionStep.java:124)
    at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:80)
    at org.gradle.internal.execution.steps.CaptureStateAfterExecutionStep.execute(CaptureStateAfterExecutionStep.java:58)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:36)
    at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:181)
    at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$1(BuildCacheStep.java:71)
    at org.gradle.internal.Either$Right.fold(Either.java:175)
    at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:69)
    at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:47)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:36)
    at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:25)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:36)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:22)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:110)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:56)
    at java.base/java.util.Optional.orElseGet(Optional.java:369)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:56)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:73)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:44)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:89)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:50)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:102)
    at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:57)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:76)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:50)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.executeWithNoEmptySources(SkipEmptyWorkStep.java:254)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:91)
    at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:56)
    at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:32)
    at org.gradle.internal.execution.steps.RemoveUntrackedExecutionStateStep.execute(RemoveUntrackedExecutionStateStep.java:21)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
    at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:43)
    at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:31)
    at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:40)
    at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:281)
    at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:40)
    at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:30)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:37)
    at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:27)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:44)
    at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:33)
    at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:76)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:139)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:128)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:69)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:322)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:309)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:302)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:288)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:462)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:379)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.android.builder.internal.aapt.v2.Aapt2InternalException: AAPT2 aapt2-7.3.1-869[1043](https://gitlab.name.ca/mobile/android/app/app-android/-/jobs/16046990#L1043)-linux Daemon #0: Daemon startup failed
This should not happen under normal circumstances, please file an issue if it does.
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.handleError(Aapt2Daemon.kt:193)
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.handleError$default(Aapt2Daemon.kt:190)
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.checkStarted(Aapt2Daemon.kt:77)
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.compile(Aapt2Daemon.kt:100)
    at com.android.builder.internal.aapt.v2.Aapt2DaemonManager$LeasedAaptDaemon.compile(Aapt2DaemonManager.kt:170)
    at com.android.builder.internal.aapt.v2.Aapt2DaemonManager$leasingAapt2Daemon$1.compile(Aapt2DaemonManager.kt:195)
    at com.android.build.gradle.internal.services.PartialInProcessResourceProcessor.compile(PartialInProcessResourceProcessor.kt:47)
    at com.android.build.gradle.internal.res.Aapt2CompileRunnableKt.runAapt2Compile(Aapt2CompileRunnable.kt:57)
    at com.android.build.gradle.internal.res.Aapt2CompileRunnable.run(Aapt2CompileRunnable.kt:32)
    at com.android.build.gradle.internal.profile.ProfileAwareWorkAction.execute(ProfileAwareWorkAction.kt:74)
    at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
    at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
    at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
    at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
    at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
    at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$2(DefaultWorkerExecutor.java:212)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
    at org.gradle.internal.Factories$1.create(Factories.java:31)
    at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:249)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:109)
    at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:114)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:157)
    at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:126)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    ... 5 more
Caused by: com.android.builder.internal.aapt.v2.Aapt2InternalException: Failed to start AAPT2 process.
    at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.stopQuietly(Aapt2DaemonImpl.kt:128)
    at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.startProcess(Aapt2DaemonImpl.kt:115)
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.6/userguide/command_line_interface.html#sec:command_line_warnings
Execution optimizations have been disabled for 9 invalid unit(s) of work during this build to ensure correctness.
Please consult deprecation warnings for more details.
52 actionable tasks: 52 executed
    at com.android.builder.internal.aapt.v2.Aapt2Daemon.checkStarted(Aapt2Daemon.kt:56)
    ... 42 more
Caused by: java.io.IOException: Process unexpectedly exit.
    at com.android.builder.internal.aapt.v2.Aapt2DaemonImpl.startProcess(Aapt2DaemonImpl.kt:116)
    ... 43 more

I tried to clear the server cache, restart it but unfortunately nothing worked with it.

with reference it's working fine on our locale machines very well.


问:
How to mock custom wrapper object in Service layer of SpringBoot
I want to unit test my service layer code using junit and mockito.Now in my service layer method instead of returning directly dao layer response,I am returning a wrapper response in following way

```<code>public MyResponseClass fetchMyEntityRecords(){

  List<MyEntity> myEntities = myDao.findAll();
  List<MyDto> myDtoList = new ArrayList<MyDto>();
  MyResponseClass obj = new MyResponseClass();
  if(myEntities!=null && !myEntities.isEmpty()){
     obj.setStatus("Success")
     obj.setMessage("Data Found");
     for(MyEntity myEntity : myEntities){
        MyDto myDto = new MyDto();
        BeanUtils.copyProperties(myEntity,myDto);
        myDtoList.add(myDto);
      }
      obj.setData(myDtoList)
   }else{
      obj.setStatus("Failure")
      obj.setMessage("Data Not Found");
      obj.setData(Collections.emptyList());
   }
      return obj;
 }
</code>```

Now in Unit testing time

```<code>@Mock
private MyDao myDao;

@InjectMocks
private MyService myService;

@Test
void listOfMyEntityTest() {
    MyEntity myEntity1= new MyEntity();
    //setter method's invoked for setting value to enity1 object
     MyEntity myEntity2= new MyEntity();
    //setter method's invoked for setting value to enity2 object
    when(myDao.findAll()).thenReturn(List.of(enity1,enity2));
    var response = myService.fetchMyEntityRecords();
    Assertions.assertThat(response.getData().size()>0).isTrue();
}
</code>```

I am getting following error

```<code>Expecting value to be true but was false
org.opentest4j.AssertionFailedError:
Expecting value to be true but was false
</code>```

Now the response is actually MyResponseClass.Now my unit test is failing because i am unable to mock this MyResponseClass. How to achieve it?

Body:
I want to unit test my service layer code using junit and mockito.Now in my service layer method instead of returning directly dao layer response,I am returning a wrapper response in following way

public MyResponseClass fetchMyEntityRecords(){

  List<MyEntity> myEntities = myDao.findAll();
  List<MyDto> myDtoList = new ArrayList<MyDto>();
  MyResponseClass obj = new MyResponseClass();
  if(myEntities!=null && !myEntities.isEmpty()){
     obj.setStatus("Success")
     obj.setMessage("Data Found");
     for(MyEntity myEntity : myEntities){
        MyDto myDto = new MyDto();
        BeanUtils.copyProperties(myEntity,myDto);
        myDtoList.add(myDto);
      }
      obj.setData(myDtoList)
   }else{
      obj.setStatus("Failure")
      obj.setMessage("Data Not Found");
      obj.setData(Collections.emptyList());
   }
      return obj;
 }

Now in Unit testing time

@Mock
private MyDao myDao;

@InjectMocks
private MyService myService;

@Test
void listOfMyEntityTest() {
    MyEntity myEntity1= new MyEntity();
    //setter method's invoked for setting value to enity1 object
     MyEntity myEntity2= new MyEntity();
    //setter method's invoked for setting value to enity2 object
    when(myDao.findAll()).thenReturn(List.of(enity1,enity2));
    var response = myService.fetchMyEntityRecords();
    Assertions.assertThat(response.getData().size()>0).isTrue();
}

I am getting following error

Expecting value to be true but was false
org.opentest4j.AssertionFailedError:
Expecting value to be true but was false

Now the response is actually MyResponseClass.Now my unit test is failing because i am unable to mock this MyResponseClass. How to achieve it?


问:
@RefreshScope is working without /actuator/refresh being enabled
So I am reading about Kubernetes PropertySource in Spring Cloud and how to configure spring to reload a value when it is changed in kubernetes configmap. As far as the doc says:

refresh (default): Only configuration beans annotated with
@ConfigurationProperties or @RefreshScope are reloaded. This reload
level leverages the refresh feature of Spring Cloud Context.

The RefreshScope is a bean in the context and has a public
refreshAll() method to refresh all beans in the scope by clearing the
target cache. The /refresh endpoint exposes this functionality (over
HTTP or JMX). To refresh an individual bean by name, there is also a
refresh(String) method.

To expose the /refresh endpoint, you need to add following
configuration to your application:

management:   endpoints:
web:
exposure:
include: refresh

So I'm guessing the refresh actuator endpoint needs to be enabled otherwise it won't work, right?

But I have a microservice that is configured as follows but it is working completely correct and when configmap changes, the value gets updated.

bootstrap.yaml:

```<code>spring:
  cloud:
    kubernetes:
      reload:
        enabled: true
        mode: polling
        strategy: refresh
      config:
        name: foo
</code>```

application.yaml:

```<code>management:
  endpoint:
    health:
      show-details: "ALWAYS"
      probes:
        enabled: true
  endpoints:
    web:
      exposure:
        include: metrics, health, caches, restart
</code>```

As you can see, there is no refresh endpoint enabled. How is it working properly then?

Body:
So I am reading about Kubernetes PropertySource in Spring Cloud and how to configure spring to reload a value when it is changed in kubernetes configmap. As far as the doc says:

refresh (default): Only configuration beans annotated with
@ConfigurationProperties or @RefreshScope are reloaded. This reload
level leverages the refresh feature of Spring Cloud Context.

The RefreshScope is a bean in the context and has a public
refreshAll() method to refresh all beans in the scope by clearing the
target cache. The /refresh endpoint exposes this functionality (over
HTTP or JMX). To refresh an individual bean by name, there is also a
refresh(String) method.

To expose the /refresh endpoint, you need to add following
configuration to your application:

management:   endpoints:
web:
exposure:
include: refresh

So I'm guessing the refresh actuator endpoint needs to be enabled otherwise it won't work, right?

But I have a microservice that is configured as follows but it is working completely correct and when configmap changes, the value gets updated.

bootstrap.yaml:

spring:
  cloud:
    kubernetes:
      reload:
        enabled: true
        mode: polling
        strategy: refresh
      config:
        name: foo

application.yaml:

management:
  endpoint:
    health:
      show-details: "ALWAYS"
      probes:
        enabled: true
  endpoints:
    web:
      exposure:
        include: metrics, health, caches, restart

As you can see, there is no refresh endpoint enabled. How is it working properly then?


问:
Canonical Request to AWS Signature 4 is correct?
I'd like to ask if there's any error in my canonical request, im trying to create one to the AWS Secrets Manager taking the sample request by example.

Doc:https://docs.aws.amazon.com/pt_br/AmazonS3/latest/API/sig-v4-header-based-auth.html

Sample Request:
`POST / HTTP/1.1
Host: secretsmanager.region.domain
Accept-Encoding: identity
X-Amz-Target: secretsmanager.GetSecretValue
Content-Type: application/x-amz-json-1.1
User-Agent:
X-Amz-Date:
Authorization: AWS4-HMAC-SHA256 Credential=,SignedHeaders=, Signature=
Content-Length:

{
"SecretId": "MyTestDatabaseSecret",
}`

My Canonical Request:
`POST
/GetSecretValue

accept-encoding:identity
content-type:application/x-amz-json-1.1
host:secretsmanager.sa-east-1.amazonaws.com
x-amz-content-sha256:beaead3198f7da1e70d03ab969765e0821b24fc913697e929e726aeaebf0eba3
x-amz-date:20230111T145646Z
x-amz-target:secretsmanager.getsecretvalue

accept-encoding;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-target
beaead3198f7da1e70d03ab969765e0821b24fc913697e929e726aeaebf0eba3`

I did the changes that the documentation was asking, but when i try to recreate the signature by the postman, well, It gets wrong.


问:
CORDOVA Error build ios Undefined symbols for architecture x86_64
I'm working on a cordova app, not developed by me. during build I get the following error:

```<code>Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$\_TTIdentity", referenced from:
objc-class-ref in TokenTrust.o
"_OBJC_CLASS_$\_TTIdentityProvider", referenced from:
objc-class-ref in TokenTrust.o
"_OBJC_CLASS_$\_TTOfflineTransactionUrlParams", referenced from:
objc-class-ref in TokenTrust.o
"_OBJC_CLASS_$\_TTSecureOfflineActivationLaunchUrlParams", referenced from:
objc-class-ref in TokenTrust.o
"_OBJC_CLASS_$\_TTSoftTokenSDK", referenced from:
objc-class-ref in TokenTrust.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
</code>```

Having no experience in cordova I don't know how to correct the error.

Body:
I'm working on a cordova app, not developed by me. during build I get the following error:

Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$\_TTIdentity", referenced from:
objc-class-ref in TokenTrust.o
"_OBJC_CLASS_$\_TTIdentityProvider", referenced from:
objc-class-ref in TokenTrust.o
"_OBJC_CLASS_$\_TTOfflineTransactionUrlParams", referenced from:
objc-class-ref in TokenTrust.o
"_OBJC_CLASS_$\_TTSecureOfflineActivationLaunchUrlParams", referenced from:
objc-class-ref in TokenTrust.o
"_OBJC_CLASS_$\_TTSoftTokenSDK", referenced from:
objc-class-ref in TokenTrust.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Having no experience in cordova I don't know how to correct the error.


问:
On Gitlab jacoco maven plugin not creating report or folder
I have a maven build with a jacoco plugin to measure coverage. This works locally and creates the report as expected. I then wanted to pull the report into gitlab and included the file as an artifact. This never worked though and using script command to list the directory I can see the the report folder has not been created.

from the pom.xml:

```<code>            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.8</version>
                <configuration>
                    <output>file</output>
                    <append>true</append>
                </configuration>
                <executions>
                    <execution>
                        <id>jacoco-initialize</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jacoco-report</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>./coverage-reports/jacoco-ut</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
</code>```

From gitlab-ci.yml

```<code>UnitTest:
  stage: test
  services:
    - name: postgres:latest
      alias: postgres

  script:
    - mvn clean test -DargLine="-Dspring.datasource.url=jdbc:postgresql://postgres:5432/$POSTGRES_DB -Dspring.datasource.password=$POSTGRES_PASSWORD" -DcodegenFile="$CODEGEN_FILE"
    - pwd
    - ls
    - cd target
    - ls
    - cd coverage-reports
    - ls
    - cd jacoco-ut
    - ls
  only:
    - merge_requests
</code>```

output from the build:

```<code>$ pwd
/builds/BJSS/Sheffield-Engineering/carbon-adjusted-workload-scheduler
$ ls
Dockerfile
README.md
checkstyle-suppressions.xml
checkstyle.xml
docker-compose.yml
docker_postgres_init.sql
documentation
hooks
maven-settings.xml
mvnw
mvnw.cmd
pom.xml
rest
src
target
$ cd target
1291$ ls
checkstyle-cachefile
checkstyle-checker.xml
checkstyle-result.xml
checkstyle-suppressions.xml
classes
generated-sources
generated-test-sources
maven-status
surefire-reports
test-classes
</code>```

this works on my local computer just not on gitlab, any ideas please ?

thanks

Body:
I have a maven build with a jacoco plugin to measure coverage. This works locally and creates the report as expected. I then wanted to pull the report into gitlab and included the file as an artifact. This never worked though and using script command to list the directory I can see the the report folder has not been created.

from the pom.xml:

            <plugin>
                <groupId>org.jacoco</groupId>
                <artifactId>jacoco-maven-plugin</artifactId>
                <version>0.8.8</version>
                <configuration>
                    <output>file</output>
                    <append>true</append>
                </configuration>
                <executions>
                    <execution>
                        <id>jacoco-initialize</id>
                        <goals>
                            <goal>prepare-agent</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>jacoco-report</id>
                        <phase>test</phase>
                        <goals>
                            <goal>report</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>./coverage-reports/jacoco-ut</outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

From gitlab-ci.yml

UnitTest:
  stage: test
  services:
    - name: postgres:latest
      alias: postgres

  script:
    - mvn clean test -DargLine="-Dspring.datasource.url=jdbc:postgresql://postgres:5432/$POSTGRES_DB -Dspring.datasource.password=$POSTGRES_PASSWORD" -DcodegenFile="$CODEGEN_FILE"
    - pwd
    - ls
    - cd target
    - ls
    - cd coverage-reports
    - ls
    - cd jacoco-ut
    - ls
  only:
    - merge_requests

output from the build:

$ pwd
/builds/BJSS/Sheffield-Engineering/carbon-adjusted-workload-scheduler
$ ls
Dockerfile
README.md
checkstyle-suppressions.xml
checkstyle.xml
docker-compose.yml
docker_postgres_init.sql
documentation
hooks
maven-settings.xml
mvnw
mvnw.cmd
pom.xml
rest
src
target
$ cd target
1291$ ls
checkstyle-cachefile
checkstyle-checker.xml
checkstyle-result.xml
checkstyle-suppressions.xml
classes
generated-sources
generated-test-sources
maven-status
surefire-reports
test-classes

this works on my local computer just not on gitlab, any ideas please ?

thanks


问:
How can you go from a local keypair to a seed phrase that allows an account to be imported into a NEAR wallet?
An account is created locally using near-cli toolkit, which creates a local keypair.  How can you import this account such that it is usable via a wallet on NEAR, for example by using a seed phrase recovery?

Presumably you can map the private key to the seed phrase.  Is that advisable?